B-樹、B+樹

B-樹大數據

用來在外部存儲中組織數據。設計

嚴格來講,2-3樹、2-3-4樹都是B-樹的特例;但B樹更強調它的節點有不少個子節點,B-樹中的節點能夠有幾十或幾百個子節點。效率

B-樹也能夠是查找樹,也能夠不是查找樹,這裏涉及的都是查找樹。引用

5階的B-樹指這個樹的非葉節點最多能夠有5個子節點。數據

B-樹應用於硬盤移動

把硬盤的一個塊做爲B-樹的一個節點,這樣讀取一個節點能夠在最短期裏訪問最大數據量。在硬盤中存儲的樹,連接是文件中塊的引用,能夠用一個int型的字段保存塊號碼,int有4個字節,能夠保存20億以上數量的塊號碼,基本對大多數文件都夠用了。文件

設計緣由時間

保證只有少數的磁盤訪問次數,在讓樹的層數更少,就須要在一個節點保存的數據項更多,而硬盤一次讀取很是快,能夠讀取大量數據。磁盤

查找硬盤

由於有序,因此按關鍵字查找和普通的有序的樹查找相似

插入

和2-3樹相似。節點分裂時,一半數據不動,一半數據移動到新節點。

在整個插入過程當中,沒有一個節點(根除外)的數據項少於一半,而且不少都比一半要滿。所以讀一個節點時,老是能存取儘量多的數據,提升了效率。

B+樹

非葉節點有n個數據項,就有n個子節點

葉節點有序且互相鏈接

只有葉節點保存數據,非葉節點只保存關鍵字和塊號碼

B+樹的優勢

非葉節點能夠保存更多塊號碼,這樣的高階樹層數更少,效率更快

相關文章
相關標籤/搜索