一 基礎知識
二叉樹
根節點,第一層的節點
葉子節點,沒有子節點的節點。
非葉子節點,有子節點的節點,根節點也是非葉子節點。
B樹
B樹的節點為關鍵字和相應的數據(索引等)
B+樹
B+樹是B樹的一個變形,非葉子節點只保存索引,不保存實際的數據,數據都保存在葉子節點中,
B+樹的葉子節點為鏈表,鏈表放數據,非葉子節點是索引。
二 對比
1.B樹和B+樹同樣適用於高度越低,查詢越快。
2.B樹查找節點,B+樹只需要查詢所有節點(索引),B樹查詢索引和數據。雖然可能第一個就找到,但在極端情況下,需要全查詢索引和數據,不如B+樹穩定。
3.B+樹和B樹比,B+樹的硬盤空間更少,io的讀寫代價更低。因為B+樹節點只有索引,占位更少。在查詢的情況下硬盤指針移動更低。
