B+樹可以看作是B樹的變形,對(duì)于存放在外存貯器上的字典,B+樹比B樹更為常用。
一個(gè)m階的B+樹滿足下列條件∶
(1) 每個(gè)結(jié)點(diǎn)至多有m棵子樹。
(2) 除根結(jié)點(diǎn)外,其它每個(gè)分支至少有 棵子樹。
(3) 非葉結(jié)點(diǎn)的根結(jié)點(diǎn)至少有兩棵子樹。
(4) 有n棵子樹的結(jié)點(diǎn)有n個(gè)關(guān)鍵碼,葉結(jié)點(diǎn)中至少包含 個(gè)關(guān)鍵碼。
(5) 葉結(jié)點(diǎn)都在同一層中,其中存放數(shù)據(jù)文件中記錄的關(guān)鍵碼及指向該記錄的指針,或存放數(shù)據(jù)文件分塊后每塊的最大關(guān)鍵碼及指向該塊的指針。葉結(jié)點(diǎn)按關(guān)鍵碼值大小順序鏈接。可以把每個(gè)葉結(jié)點(diǎn)看成是一個(gè)基本索引塊(直接指向數(shù)據(jù)文件中的記錄)。
(6) 所有分支結(jié)點(diǎn)可看成是索引的索引。使結(jié)點(diǎn)中僅包含它的各個(gè)子結(jié)點(diǎn)中最大(或最小)關(guān)鍵碼的分界值及指向子結(jié)點(diǎn)的指針。