[演算法]——平衡二叉樹(AVL樹)+ B 樹
阿新 • • 發佈:2021-07-12
一、平衡二叉樹
特點: 保證查詢的效率較高, 根節點的左右子樹的高度差絕對值不超過1,左右子樹都是平衡二叉樹
左旋操作六大步驟
右旋的六大步驟
當符合右旋操作時,如果左子樹的右子樹大於它的左子樹高度,需要對當前節點進行左旋操作,再對根節點進行右旋操作。(雙旋轉)
二、 B 樹
2-3樹的基本介紹
2-3 樹是最簡單的B 樹
基本特點: 1)2-3樹的所有葉子節點都在同一層
2)有兩個子節點的節點叫二節點,二節點要麼沒有子節點,要麼有兩個子節點
3)有三個子節點的節點叫三節點,三節點要麼沒有子節點,要麼有三個子節點
4)2 - 3 樹是由二節點和三節點構成的樹
B樹 (Balanced Tree)
基本特點: 1) B樹的階: 節點的最多子節點個數。比如 2-3 樹的階是3, 2- 3- 4樹的階是 4
2) B樹的搜尋, 從根節點開始,對節點內的關鍵字(有序)序列進行二分查詢,如果命中則結束,否則進入查詢關鍵字所屬範圍的兒子節點;重複, 直到所對應的兒子指標為 空,或已經是葉子節點
3) 關鍵字集合分佈在整棵樹中,即葉子節點和非葉子節點都存放資料
4) 搜尋有可能在非葉子節點結束
5) 其搜尋效能等價與在關鍵字全集內做一次二分查詢、