數據結構 - 多路搜索樹(2-3樹、b樹、b+樹、b*樹)

如果二叉樹的高度太高,速度還是比較慢

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

2-3樹 實現步驟

數列:[16,24,12,32,26,34,10,8,28,38,20]

第一步:16直接放到一個2節點

第二步:24放到16後面

第三步:12不能放到16前面,要不然不滿足2-3樹變成4叉了,所以要拆

第四步:32放到16後面,然後放到24後面

在這裏插入圖片描述

第五步:26放到24和32中間變成四叉不滿足,如果放到24-32下面當成中間節點,只有一個子節點不滿足,所以放到上面去

在這裏插入圖片描述
在這裏插入圖片描述

第六步:34直接放到32後面

在這裏插入圖片描述

第七步:10放到12前面不行會變成四叉,放到12下面只有一個節點,所以要拆分,

但是拆分完後不滿足b樹的所有葉子節點在同一層,不滿足,所以要進行調整

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

B+樹:數據只在葉子節點的鏈表中存儲,數據只能在葉子節點(稠密索引)且葉子節點鏈表中的數據是有序的,非葉子節點相當於葉子節點的索引(稀疏索引);

在這裏插入圖片描述

發佈了113 篇原創文章 · 獲贊 73 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章