提高篇 樹結構 《演算法筆記》同步筆記總結與補充

2021-10-03 09:55:07 字數 1048 閱讀 4507

題目中正兒八經構造一顆樹的題目不多,但關於運用樹的思想卻很多,一定要熟練掌握!尤其是樹結構在並查集,堆,這些資料結構實用且高效。

平衡二叉樹的左旋右旋和樹型的關係:左旋右旋是調整樹型的措施。根據具體根節點和子節點的平衡因子,判斷當前二叉搜尋樹的樹型,採用對應的左旋右旋操作來調整樹結構,使其達到平衡二叉樹的結構。(由於內容較多,另寫了一篇做詳細介紹)

並查集:高效查詢合併(由於內容較多,另寫了一篇做詳細介紹)

樹與堆與優先佇列:優先佇列的本質是堆,堆的本質是樹

哈夫曼樹與堆:哈夫曼樹的實現要借助於小頂堆

結構體指標變數,root == null與*root == null的區別

root == null:表示位址為null,代表空樹

*root == null:表示位址所包含的內容為空,也許節點位址存在,但內容為空(位址存在就不能說明是空樹了)

root在遞迴**中的含義:在**中,root並非乙個樹真正的根節點,root指代遞迴後,所訪問到的當前節點

樹的基本操作

結構體指標變數的建構函式: 必須使用初始化表賦值

struct node

node

(int x):v

(x),

height(1

),lchild

(null),

rchild

(null

)//要用初始化表,直接賦值不知道為什麼會出錯

/*//!!!!!!!!!報錯!!!!!!!

node(int x)

*/};

node* root =

newnode

(x);

//root仍為結構體指標變數,因此建構函式前要加new

資料結構與演算法 樹結構 二叉樹 筆記整理《十四》

優點 通過下標查詢查詢速度快 對有序陣列可以通過二分查詢提高速度 缺點 如果檢索某個具體的值或者插入元素,會整體移動效率低 優點 插入效率高 缺點 檢索時需要遍歷所有節點查詢 既保持了類似鍊錶結構的插入效率,又保持了查詢的效率,查詢的特點很類似於陣列的二分查詢,比如二叉樹 每個節點都一分為二,父節點...

Unix IO 同步,非同步,阻塞,非阻塞 筆記篇

同步是需要主動等待訊息通知,而非同步則是被動接收訊息通知,通過 通知 狀態等方式來被動獲取訊息。io多路復用在阻塞到select階段時,使用者程序是主動等待並呼叫select函式獲取資料就緒狀態訊息,並且其程序狀態為阻塞。所以,把io多路復用歸為同步阻塞模式。i o多路復用就是通過一種機制,乙個程序...

資料結構與演算法筆記 基本概念篇

總結資料結構的基礎概念部分 將具體問題抽象建立數學模型 設計解出此數學模型的演算法 程式設計與測試調整 邏輯結構 線性結構與非線性結構 集合樹形與圖狀 物理 儲存 結構 順序儲存 鏈式儲存 索引儲存與雜湊儲存 索引對應b樹和b 樹索引,也是資料庫中索引的記憶體結構,雜湊對應雜湊表結構 資料運算 插入...