B樹結(jié)構(gòu)參考

B樹的節(jié)點(diǎn)包括:Key鍵值,Index索引值,Data數(shù)據(jù)

B樹維基百科參考

B樹別稱:多路查找平衡樹,多分支的平衡的查找樹(多叉的平衡的搜索樹)

維基百科對B樹的定義為“在計算機(jī)科學(xué)中,B樹(B-tree)是一種樹狀數(shù)據(jù)結(jié)構(gòu),它能夠存儲數(shù)據(jù)、對其進(jìn)行排序并允許以O(shè)(log n)的時間復(fù)雜度運(yùn)行進(jìn)行查找、順序讀取、插入和刪除的數(shù)據(jù)結(jié)構(gòu)。B樹,概括來說是一個節(jié)點(diǎn)可以擁有多于2個子節(jié)點(diǎn)的二叉查找樹。與自平衡二叉查找樹不同,B-樹為系統(tǒng)最優(yōu)化大塊數(shù)據(jù)的讀和寫操作。B-tree算法減少定位記錄時所經(jīng)歷的中間過程,從而加快存取速度。普遍運(yùn)用在數(shù)據(jù)庫和文件系統(tǒng)?!?/p>

B樹結(jié)構(gòu)定義

  1. 可以看作是對2-3查找樹的一種擴(kuò)展,即他允許每個節(jié)點(diǎn)有M-1個子節(jié)點(diǎn)。
  2. 根節(jié)點(diǎn)至少有兩個子節(jié)點(diǎn)
  3. 每個節(jié)點(diǎn)有M-1個key,并且以升序排列
  4. 位于M-1和M key的子節(jié)點(diǎn)的值位于M-1 和M key對應(yīng)的Value之間
  5. 其它節(jié)點(diǎn)至少有M/2個子節(jié)點(diǎn)

下圖是一個M=4 階的B樹:

4階B樹參考

可以看到B樹是2-3樹的一種擴(kuò)展,他允許一個節(jié)點(diǎn)有多于2個的元素。
B樹的插入及平衡化操作和2-3樹很相似,這里就不介紹了。下面是往B樹中依次插入6 10 4 14 5 11 15 3 2 12 1 7 8 8 6 3 6 21 5 15 15 6 32 23 45 65 7 8 6 5 4的演示動畫:

B數(shù)據(jù)構(gòu)建參考
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容