2018-05-22

1.B-數(shù)、B+數(shù)


B-樹

特點(diǎn):

是一種多路搜索樹(并不是二叉的):

1.定義任意非葉子結(jié)點(diǎn)最多只有M個(gè)兒子笆怠;且M>2铝耻;

2.根結(jié)點(diǎn)的兒子數(shù)為[2, M]誊爹;

3.除根結(jié)點(diǎn)以外的非葉子結(jié)點(diǎn)的兒子數(shù)為[M/2, M]蹬刷;

4.每個(gè)結(jié)點(diǎn)存放至少M(fèi)/2-1(取上整)和至多M-1個(gè)關(guān)鍵字瓢捉;(至少2個(gè)關(guān)鍵字)

5.非葉子結(jié)點(diǎn)的關(guān)鍵字個(gè)數(shù)=指向兒子的指針個(gè)數(shù)-1;

6.非葉子結(jié)點(diǎn)的關(guān)鍵字:K[1], K[2], …, K[M-1]办成;且K[i] < K[i+1]泡态;

7.非葉子結(jié)點(diǎn)的指針:P[1], P[2], …, P[M];其中P[1]指向關(guān)鍵字小于K[1]的

子樹迂卢,P[M]指向關(guān)鍵字大于K[M-1]的子樹某弦,其它P[i]指向關(guān)鍵字屬于(K[i-1], K[i])的子樹;

8.所有葉子結(jié)點(diǎn)位于同一層而克;

如:(M=3)

B-樹的搜索靶壮,從根結(jié)點(diǎn)開始,對結(jié)點(diǎn)內(nèi)的關(guān)鍵字(有序)序列進(jìn)行二分查找员萍,如果

命中則結(jié)束腾降,否則進(jìn)入查詢關(guān)鍵字所屬范圍的兒子結(jié)點(diǎn);重復(fù)碎绎,直到所對應(yīng)的兒子指針為空螃壤,或已經(jīng)是葉子結(jié)點(diǎn);

B-樹的特性:

1.關(guān)鍵字集合分布在整顆樹中筋帖;

2.任何一個(gè)關(guān)鍵字出現(xiàn)且只出現(xiàn)在一個(gè)結(jié)點(diǎn)中奸晴;

3.搜索有可能在非葉子結(jié)點(diǎn)結(jié)束;

4.其搜索性能等價(jià)于在關(guān)鍵字全集內(nèi)做一次二分查找日麸;

5.自動層次控制寄啼;

B+樹

B+ 樹是一種樹數(shù)據(jù)結(jié)構(gòu),是一個(gè)n叉樹代箭,每個(gè)節(jié)點(diǎn)通常有多個(gè)孩子辕录,一棵B+樹包含根節(jié)點(diǎn)、內(nèi)部節(jié)點(diǎn)和葉子節(jié)點(diǎn)梢卸。根節(jié)點(diǎn)可能是一個(gè)葉子節(jié)點(diǎn)走诞,也可能是一個(gè)包含兩個(gè)或兩個(gè)以上孩子節(jié)點(diǎn)的節(jié)點(diǎn)。

用途:

B+ 樹通常用于數(shù)據(jù)庫和操作系統(tǒng)的文件系統(tǒng)中蛤高。NTFS, ReiserFS, NSS, XFS, JFS, ReFS 和BFS等文件系統(tǒng)都在使用B+樹作為元數(shù)據(jù)索引蚣旱。B+ 樹的特點(diǎn)是能夠保持?jǐn)?shù)據(jù)穩(wěn)定有序,其插入與修改擁有較穩(wěn)定的對數(shù)時(shí)間復(fù)雜度戴陡。B+ 樹元素自底向上插入塞绿。

B+樹的定義

B+樹是應(yīng)文件系統(tǒng)所需而出的一種B-樹的變型樹。一棵m階的B+樹和m階的B-樹的差異在于:

1.有n棵子樹的結(jié)點(diǎn)中含有n個(gè)關(guān)鍵字恤批,每個(gè)關(guān)鍵字不保存數(shù)據(jù)异吻,只用來索引,所有數(shù)據(jù)都保存在葉子節(jié)點(diǎn)。

2.所有的葉子結(jié)點(diǎn)中包含了全部關(guān)鍵字的信息诀浪,及指向含這些關(guān)鍵字記錄的指針棋返,且葉子結(jié)點(diǎn)本身依關(guān)鍵字的大小自小而大順序鏈接。

3.所有的非終端結(jié)點(diǎn)可以看成是索引部分雷猪,結(jié)點(diǎn)中僅含其子樹(根結(jié)點(diǎn))中的最大(或最芯ⅰ)關(guān)鍵字。

通常在B+樹上有兩個(gè)頭指針求摇,一個(gè)指向根結(jié)點(diǎn)射沟,一個(gè)指向關(guān)鍵字最小的葉子結(jié)點(diǎn)。

B+樹是B-樹的變體与境,也是一種多路搜索樹:

1.其定義基本與B-樹同验夯,除了:

2.非葉子結(jié)點(diǎn)的子樹指針與關(guān)鍵字個(gè)數(shù)相同;

3.非葉子結(jié)點(diǎn)的子樹指針P[i]摔刁,指向關(guān)鍵字值屬于[K[i], K[i+1])的子樹(B-樹是開區(qū)間)簿姨;

5.為所有葉子結(jié)點(diǎn)增加一個(gè)鏈指針;

6.所有關(guān)鍵字都在葉子結(jié)點(diǎn)出現(xiàn)簸搞;

如:(M=3)

B+的搜索與B-樹也基本相同扁位,區(qū)別是B+樹只有達(dá)到葉子結(jié)點(diǎn)才命中(B-樹可以在

非葉子結(jié)點(diǎn)命中),其性能也等價(jià)于在關(guān)鍵字全集做一次二分查找趁俊;

B+的特性:

1.所有關(guān)鍵字都出現(xiàn)在葉子結(jié)點(diǎn)的鏈表中(稠密索引)域仇,且鏈表中的關(guān)鍵字恰好是有序的;

2.不可能在非葉子結(jié)點(diǎn)命中寺擂;

3.非葉子結(jié)點(diǎn)相當(dāng)于是葉子結(jié)點(diǎn)的索引(稀疏索引)暇务,葉子結(jié)點(diǎn)相當(dāng)于是存儲(關(guān)鍵字)數(shù)據(jù)的數(shù)據(jù)層;

4.更適合文件索引系統(tǒng)怔软;

紅黑樹待續(xù)...

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末垦细,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子挡逼,更是在濱河造成了極大的恐慌括改,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,042評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件家坎,死亡現(xiàn)場離奇詭異嘱能,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)虱疏,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評論 2 384
  • 文/潘曉璐 我一進(jìn)店門惹骂,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人做瞪,你說我怎么就攤上這事对粪。” “怎么了?”我有些...
    開封第一講書人閱讀 156,674評論 0 345
  • 文/不壞的土叔 我叫張陵著拭,是天一觀的道長纱扭。 經(jīng)常有香客問我,道長茫死,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,340評論 1 283
  • 正文 為了忘掉前任履羞,我火速辦了婚禮峦萎,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘忆首。我一直安慰自己爱榔,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,404評論 5 384
  • 文/花漫 我一把揭開白布糙及。 她就那樣靜靜地躺著详幽,像睡著了一般。 火紅的嫁衣襯著肌膚如雪浸锨。 梳的紋絲不亂的頭發(fā)上唇聘,一...
    開封第一講書人閱讀 49,749評論 1 289
  • 那天,我揣著相機(jī)與錄音柱搜,去河邊找鬼迟郎。 笑死,一個(gè)胖子當(dāng)著我的面吹牛聪蘸,可吹牛的內(nèi)容都是我干的宪肖。 我是一名探鬼主播,決...
    沈念sama閱讀 38,902評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼健爬,長吁一口氣:“原來是場噩夢啊……” “哼控乾!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起娜遵,我...
    開封第一講書人閱讀 37,662評論 0 266
  • 序言:老撾萬榮一對情侶失蹤蜕衡,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后设拟,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體衷咽,經(jīng)...
    沈念sama閱讀 44,110評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年蒜绽,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了镶骗。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,577評論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡躲雅,死狀恐怖鼎姊,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤相寇,帶...
    沈念sama閱讀 34,258評論 4 328
  • 正文 年R本政府宣布慰于,位于F島的核電站,受9級特大地震影響唤衫,放射性物質(zhì)發(fā)生泄漏婆赠。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,848評論 3 312
  • 文/蒙蒙 一佳励、第九天 我趴在偏房一處隱蔽的房頂上張望休里。 院中可真熱鬧,春花似錦赃承、人聲如沸妙黍。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽拭嫁。三九已至,卻和暖如春抓于,著一層夾襖步出監(jiān)牢的瞬間做粤,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評論 1 264
  • 我被黑心中介騙來泰國打工捉撮, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留驮宴,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,271評論 2 360
  • 正文 我出身青樓呕缭,卻偏偏與公主長得像堵泽,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子恢总,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,452評論 2 348

推薦閱讀更多精彩內(nèi)容

  • B樹的定義 一棵m階的B樹滿足下列條件: 樹中每個(gè)結(jié)點(diǎn)至多有m個(gè)孩子迎罗。 除根結(jié)點(diǎn)和葉子結(jié)點(diǎn)外,其它每個(gè)結(jié)點(diǎn)至少有m...
    文檔隨手記閱讀 13,199評論 0 25
  • B樹 1.前言: 動態(tài)查找樹主要有:二叉查找樹(Binary Search Tree)片仿,平衡二叉查找樹(Balan...
    鐵甲依然在_978f閱讀 1,445評論 0 4
  • 原文鏈接 B樹 1.前言: 動態(tài)查找樹主要有:二叉查找樹(Binary Search Tree)纹安,平衡二叉查找樹(...
    非典型程序員閱讀 1,151評論 0 3
  • 參考:B樹和B+樹的總結(jié)B樹、B-樹砂豌、B+樹厢岂、B*樹都是什么 總結(jié) 利用平衡樹的優(yōu)勢加快查詢的穩(wěn)定性和速度;B+樹...
    小小少年Boy閱讀 58,297評論 8 77
  • 夜半 半睡半夢間 突聞有女啼哭 遠(yuǎn)遠(yuǎn)傳來 甚是駭人 接著 稀里嘩啦的 物品碰撞 徹底 擾了我的清夢 起床 在黑夜的...
    梅蕊新說閱讀 212評論 17 16