原创 劍指offer刷題————二叉樹中和爲某一值得路徑

目錄   問題重述: 思路解析: 代碼實現: 問題重述: 題目:輸入一顆二叉樹的根節點和一個整數,打印出二叉樹節點值得和爲輸入整數得所有路徑。路徑定義爲從樹得根節點開始往下一直到葉節點所經過得節點形成一條路徑。 思路解析: 首先,注意一個

原创 二分查找算法(分治)||C++實現

目錄 非遞歸 遞歸 時間複雜度 二分查找算法是查找算法裏面非常簡單的一個,這裏給出二分查找算法的遞歸和非遞歸的代碼。 注意:二分查找算法的前提是序列有序。 非遞歸 //假設arr從小到大有序,找見返回下標,找不見返回-1 int Bin

原创 Redis之5———set類型詳解:常用操作、業務場景

目錄 1 set類型 2 set類型數據的基本操作 1 sadd key member1 [merber2]:添加數據 2 smembers key:獲取全部數據 3 srem key member1 [member2]:刪除數據 4 s

原创 Redis之7———消息發佈與訂閱詳解

目錄   1 redis發佈訂閱 ​ 2 redis發佈訂閱中的命令 3 一個實例 e 1 redis發佈訂閱 redis發佈訂閱(pub/sub)是一種消息通信模式:發送者發送消息,訂閱者接收消息,其機制如下圖所示: 2 redis發

原创 有兩個大小都爲n升序的int數組。查詢第n小的數值(分治)||C++實現

這道題和leetcode上的第 4到算法題非常類似。這道題我們採用二分法(分治)的方式來進行解決。 思路如下(這裏參考leetcode中的官方解析): 假設兩個有序的數組A和B。要找到第k個元素,我們可以比較A[k/2-1]和B[k/2-

原创 Redis之4———list類型詳解:常用操作、業務場景

目錄 1 list類型 2 list類型的基本操作 1 lpush/rpush key value1 [value2] …… :添加數據 2 lrange key start stop :獲取範圍數據 3 lindex key index

原创 劍指offer刷題————複雜鏈表的複製

目錄   問題重述: 思路解析: 代碼實現: 問題重述: 題目:請實現一個函數來複制一個複雜鏈表。在複雜鏈表中,每個節點除了有一個next指針指向下一個節點外,還有一個random指針,指向鏈表中的任意節點或者NULL。 思路解析: 假設

原创 Redis之6———sorted set類型詳解

1 redis 有序集合:sorted set Redis 有序集合和集合一樣也是string類型元素的集合,且不允許重複的成員。不同的是每個元素都會關聯一個double類型的分數。redis正是通過分數來爲集合中的成員進行從小到大的排序

原创 Redis之2———string類型詳解:常用操作、業務場景

目錄 string 的常用操作 1 set key value 2 get 3 getset key value 4 mset key1 value1 [key2 value2……] 5 get key1[key2 ……] 6 incr

原创 能否由先序遍歷和後序遍重建二叉樹?

答:不能,因爲當樹的節點存在單個葉子節點的時候,是不能確定樹的結構的。 舉個例子: 假如一棵樹的先序遍歷爲:6,7,後續遍歷爲7,6,那麼如下圖兩個結構都是滿足條件的。

原创 劍指offer刷題————從上往下打印二叉樹

問題重述: 題目:從上往下打印出二叉樹的每個節點,同一層的節點按照從左到右的順序打印。 思路分析: 這個問題很簡單,即使二叉樹的層次遍歷。 代碼實現: /* struct TreeNode { int val; struct Tre

原创 求二叉樹第K層節點的個數和二叉樹中葉子節點數

1 求二叉樹第K層節點的個數 由於二叉樹特殊的性質,因此大部分二叉樹的問題都可以通過遞歸的方法來解決。 求二叉樹第K層節點的個數,可以想到層次遍歷的方法,但是這個問題也可以通過遞歸的方法來解決,代碼如下: int GetNodeNumK

原创 判斷二叉樹是不是平衡二叉樹、完全二叉樹、滿二叉樹||C++實現

目錄 1 判斷二叉樹是不是平衡二叉樹 2 判斷二叉樹是不是完全二叉樹 3 判斷二叉樹是不是滿二叉樹 在這之前,我們假設二叉樹節點的結構如下: typedef struct binaryTreeNode { int mData; bi

原创 MySQL數據庫看這裏:總結篇

關於MySql所有內容我差不多都整理過了,在此列個目錄: 詳談數據庫泛型:第一、二、三、四和BCN範式 MySql數據類型和運算符總結 MySql數據庫操作:創建數據庫、刪除數據庫和數據庫存儲引擎 MySql數據庫表操作:創建表、刪除表、

原创 MySQl分庫分表

爲什麼要分庫分表, 那當然是由於數據量太大了導致數據庫訪問效率越來越低, 而且我們在設計服務器後臺數據庫的時候, 一定是會根據不同的業務類型, 把同類型業務的數據放到相關的數據庫以及表當中, 也就是分庫分表! 在數據量超大的時候, 比如幾