1. 程式人生 > 其它 >[演算法]——平衡二叉樹(AVL樹)+ B 樹

[演算法]——平衡二叉樹(AVL樹)+ B 樹

一、平衡二叉樹

  特點: 保證查詢的效率較高, 根節點的左右子樹的高度差絕對值不超過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) 其搜尋效能等價與在關鍵字全集內做一次二分查詢、

B + 樹