多叉樹(Multiway Trees)

多叉樹


多叉樹中的每個節點可能包含多個節點,通常將其稱之爲n叉樹。多叉樹每個節點可以有m-1個值且可以有m個子節點。通常,不是每個系欸但都需要右m-1個值或者m個子節點

B Trees


B樹是n叉樹的一種特例,管飯用於磁盤的訪問,順序爲m的B樹最多可以有m-1個鍵,並且最多右m個指針指向其子節點。

B樹用於在運行時對存儲的數據進行搜素、插入、刪除。

B Trees的屬性

  1. 所有葉子節點均位於同一層
  2. 除根節點(root)外,所有節點都必須至少具有[m2]1[m*2]-1,至多右[m1][m-1]個鍵值
  3. 具有n1n-1個鍵的非葉子節點必須具有n個子節點
  4. 節點中的所有鍵值必須按照升序排列
  5. 所有內部節點必須至少右m/2個子節點
  6. 如果根節點爲非葉子節點,則根節點必須至少右兩個子節點

B樹的幾個變體

  1. B+ Trees

B+ 樹可以被看作是B樹,但是B+樹中每個節點僅包含鍵(不包含鍵值對),並且將所有的記錄存儲在樹的葉子級別節點中。它由兩個部分組成,第一部分時構成內部節點的索引集,第二部分是構成葉子的序列集。我們既可以以鏈式形式訪問鍵,也可以順序訪問鍵。與普通的B樹相比,B+樹允許更高效的檢索數據。

B+樹的使用

文件索引,B+樹可有效的用於文件的檢索操作,指向節點中子節點的大量指針有助減少在數據中查找元素所需的I/O操作數量,使用B+樹有利於減少I/O操作時間

B+樹的屬性

  1. 插入複雜度O(log n)
  2. 查找複雜度O(log n)
  3. 移除複雜度O(log n)
  4. 對範圍內的K元素執行查詢需要O(log n+k)

更多內容,歡迎訪問:


在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章