B樹如下:
B樹可以在精準查找的情況下,進行少量的磁盤IO,但是它依然有着缺陷,那就是無法進行範圍查找。
這種數據結構如果想進行範圍查找必須遞歸節點。
而B+樹就可以解決上述這個問題。
它有以下特點:
1.其定義基本與B-樹同,除了:
2.非葉子結點的子樹指針與關鍵字個數相同;
3.非葉子結點的子樹指針P[i],指向關鍵字值屬於[K[i], K[i+1])的子樹
5.爲所有葉子結點增加一個鏈指針;
6.所有關鍵字都在葉子結點出現;
如下圖:3階B+樹
它將葉子節點連在了一起,那麼按範圍來查,就不需要遞歸節點,而是使用葉子節點。
它還可以不通過根節點而是使用葉子節點來進行二分查找。