B-Tree的性質(zhì)介紹
B-樹是一種常見的數(shù)據(jù)結(jié)構(gòu)。和他一起的還有B+樹。
在這里,需要澄清一下概念。B樹,B-樹,B+樹有什么區(qū)別?他們有什么關(guān)系呢?
其實(shí),從數(shù)據(jù)結(jié)構(gòu)來講只有2種,也就是B-樹和B+樹。有時候,B-樹又稱為B樹,他們是一個東西。請注意,B-樹中間的“-”是連字符,而不是“減號”。英文中是B-Tree,翻譯成中文后,也就是B樹,有的翻譯喜歡把連字符“-”也帶著,于是就成了B-樹,而B-樹被有些讀者誤讀為B減樹。
介紹B-樹之前,首先看一下一個重要的概念:階。
一個樹的階,就是這個樹中各個節(jié)點(diǎn)的子節(jié)點(diǎn)個數(shù)的最大值。也就是說,如果有的節(jié)點(diǎn)有2個子節(jié)點(diǎn),有的節(jié)點(diǎn)有4個子節(jié)點(diǎn),最多的有5個子節(jié)點(diǎn),那么,這個樹的階就是5.
從這個角度來講,二叉樹的階是2.
接下來,我們介紹一下B-樹的主要性質(zhì)。我們假定B-樹的階為m。一個m階的B-樹,要么是一個空樹,要么是具有如下性質(zhì)的樹:
1,每個節(jié)點(diǎn)最多有m個子節(jié)點(diǎn)。最少有m/2(向上取整)個節(jié)點(diǎn)?;蛘哌@么表述:m/2 <= 子節(jié)點(diǎn)個數(shù)<= m。但是根節(jié)點(diǎn)是例外的,根節(jié)點(diǎn)可以最少有2個子節(jié)點(diǎn)。
2,每個節(jié)點(diǎn)的子節(jié)點(diǎn)的個數(shù),比該節(jié)點(diǎn)中保存的關(guān)鍵字的個數(shù)多1. 也就是,當(dāng)節(jié)點(diǎn)中保存k個關(guān)鍵字時,該節(jié)點(diǎn)會有k+ 1個子節(jié)點(diǎn)(子樹)。
3,每個節(jié)點(diǎn)中的k個關(guān)鍵字是按照從小到到排列的,分別記為k1,k2,k3,......kk。那么該節(jié)點(diǎn)會有k+1個指針,記為p0,p1,p2,......pk。并且,p3所指向的子節(jié)點(diǎn)中的所有元素,都大于k3,且都小于k4. 如下圖所示。這一點(diǎn)也比較容易理解和記憶,各個指針p整好位于關(guān)鍵字k的插空的位置,所以,插空處的指針指向的子節(jié)點(diǎn)的元素的值,就理所當(dāng)然的應(yīng)該大于指針左邊的元素,小于指針右邊的元素。

4,B-樹是嚴(yán)格的平衡查找樹,它的左右子樹的高度是相等的。且葉子節(jié)點(diǎn)處于同一層,并且可以用空節(jié)點(diǎn)表示。
一個B-樹的例子:

總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對本站的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。
關(guān)注官方微信