原创 【數據結構】【快速排序算法】【C++】

快排原理——分治 1、從數列中取出一個數作爲基準數(樞軸,pivot)。  2、將數組進行劃分(partition),將比基準數大的元素都移至樞軸右邊,將小於等於基準數的元素都移至樞軸左邊。 3、再對左右的子區間重複第二步的劃分操作,直至

原创 判斷一棵樹是否爲搜索二叉樹

二叉樹中序遍歷的情況下,遍歷結果是所有節點依次升序的,就是搜索二叉樹,否則就不是。 由此我們可以對之前非遞歸版本的中序遍歷稍加修改,在打印節點的時機判斷當前節點是否大於上一個節點,就可以判斷此二叉樹是否是搜索二叉樹。 思路: 1中序遞

原创 【redis】相關面試問題

請你回答一下mongodb和redis的區別 內存管理機制上:Redis 數據全部存在內存,定期寫入磁盤,當內存不夠時,可以選擇指定的 LRU 算法刪除數據。MongoDB 數據存在內存,由 linux系統 mmap 實現,當內存不夠時,

原创 【memcpy 】手寫代碼 C++

void * memcpy ( void * destination, const void * source, size_t num );   用法:#include <string.h> 功能:由src所指內存區域複製count個

原创 二叉樹的【先序遍歷】【中序遍歷】【後序遍歷】【層序遍歷】【遞歸】【非遞歸】

目錄   1 先序遍歷 2 中序遍歷 3 後序遍歷  4 層序遍歷 測試代碼: 幫助理解:浙江大學數據結構:https://www.bilibili.com/video/BV1H4411N7oD?p=33 1 先序遍歷 //前序遍歷 v

原创 合併兩個有序鏈表,保持鏈表順序。

(編程題)合併兩個有序鏈表,保持鏈表順序。 例如: 輸入: 鏈表1: 1->3->5->7 鏈表2: 2->4->6->8 輸出: 鏈表交集: 1->2->3->4->5->6->7->8 一般做法: /* struct ListNod

原创 【編程】把兩個有序數組合併成一個有序數組

#include <iostream> #include <vector> #include <algorithm> using namespace std; int *sortArr(int* stra, int lena, int

原创 HTTP和HTTPS、HTTP返回碼

HTTPS提出背景 超文本傳輸協議HTTP協議被用於在Web瀏覽器和網站服務器之間傳遞信息,HTTP協議以明文方式發送內容,不提供任何方式的數據加密,如果攻擊者截取了Web瀏覽器和網站服務器之間的傳輸報文,就可以直接讀懂其中的信息,因此,

原创 海量數據的處理【位圖】【分治】【hashmap】【大頂堆】

目錄 如何找出排名前 500 的數? 題目描述 解答思路 如何按照 query 的頻度排序? 題目描述 解答思路 方法總結 如何從 5 億個數中找出中位數? 題目描述 解答思路 方法總結 如何統計不同電話號碼的個數? 題目描述 解答思路

原创 雲服務的優勢

(論述題)你使用過哪些雲服務,在什麼場景下使用的?雲服務和傳統IT的優勢有哪些? 鏈接:https://www.nowcoder.com/questionTerminal/63dc7ab5a8394c7396da088cb0d176fe?

原创 判斷一個數是否是完全二叉樹

參考層序遍歷的算法,利用隊列作爲儲存結構,將二叉樹從上到下,從左到右遍歷,對於完全二叉樹來說,一旦隊列中讀到空指針,則必定已將二叉樹遍歷完全了,否則若空指針後還有爲訪問的元素,則不是完全二叉樹。  思路: 遍歷二叉樹,直到結尾(nu

原创 簡要描述tcp協議和udp協議的特性和區別

參考答案: TCP協議和UDP協議特性區別總結: (1)TCP協議在傳送數據段的時候要給段標號;UDP協議不 (2)TCP協議可靠;UDP協議不可靠 (3)TCP協議是面向連接;UDP協議採用無連接 (4)TCP協議負載較高,採用虛電路;

原创 leetcode347 前 K 個高頻元素

題目描述:leetcode347前 K 個高頻元素 思路:將元素加入hashmap建立<數字,頻率>的映射,然後藉助priority_queue<頻率,數字>實現最大堆,取最大堆的k個元素,時間複雜度O(k logN) class So

原创 【leetcode】23合併k個有序鏈表

題目描述: leetcode23 思路: 代碼實現: /** * Definition for singly-linked list. * struct ListNode { * int val; * List

原创 【leetcode】22括號生成

題目描述: https://leetcode-cn.com/problems/generate-parentheses/ 思路: 代碼實現: class Solution { public: vector<string> ge