2020-10-14 B树 概念添加删除笔记
B樹(shù)在考試中幾乎不考察,但是可以作為對(duì)紅黑樹(shù)的輔助理解,紅黑樹(shù)
你心里有沒(méi)有B樹(shù)?
B樹(shù):英文名字叫做B-tree,中間的短線是英文連接符,只是翻譯的時(shí)候?qū)⒍叹€翻譯成了減號(hào)。
全稱Balance-tree(平衡多路查找樹(shù)),平衡的意思是左邊和右邊分布均勻。多路的意思是相對(duì)于二叉樹(shù)而言的,二叉樹(shù)就是二路查找樹(shù),查找時(shí)只有兩條路,而B(niǎo)-tree有多條路,即父節(jié)點(diǎn)有多個(gè)子節(jié)點(diǎn)。
類似二叉搜索樹(shù)的結(jié)點(diǎn)彼此合并的產(chǎn)物,結(jié)點(diǎn)可以存儲(chǔ)m-1個(gè)值,可以擁有最多m個(gè)子結(jié)點(diǎn)
B樹(shù)的優(yōu)點(diǎn):
使用B-tree結(jié)構(gòu)可以顯著減少定位記錄時(shí)所經(jīng)歷的中間過(guò)程,從而加快存取速度。這個(gè)數(shù)據(jù)結(jié)構(gòu)一般用于數(shù)據(jù)庫(kù)的索引,綜合效率較高
B樹(shù)的搜索過(guò)程
B-樹(shù)的查找類似二叉排序樹(shù)的查找,不同的是B-樹(shù)每個(gè)結(jié)點(diǎn)上是多關(guān)鍵碼的有序表,在到達(dá)某個(gè)結(jié)點(diǎn)時(shí),先在有序表中查找,若找到,則查找成功;否則,到按照對(duì)應(yīng)的指針信息指向的子樹(shù)中去查找,當(dāng)?shù)竭_(dá)葉子結(jié)點(diǎn)時(shí),則說(shuō)明樹(shù)中沒(méi)有對(duì)應(yīng)的關(guān)鍵碼。
標(biāo)題
剩下的去看數(shù)據(jù)結(jié)構(gòu)收藏夾
添加和刪除b站有個(gè)可視化挺好的,可以看看,但是關(guān)于插入1那里確實(shí)有點(diǎn)問(wèn)題,個(gè)人認(rèn)為先插入 到葉結(jié)點(diǎn),在判斷有沒(méi)有滿,再拆分
B樹(shù)可視化
B樹(shù)添加刪除
更加復(fù)雜的刪除過(guò)程
來(lái)自網(wǎng)課戀上數(shù)據(jù)結(jié)構(gòu)與算法第一季
刪除結(jié)點(diǎn)1,發(fā)生連續(xù)下溢,記得下溢時(shí),有兄弟結(jié)點(diǎn),能借就借,不能借就取父結(jié)點(diǎn)中間那個(gè)下來(lái)合并
刪除1,1結(jié)點(diǎn)為空,1下溢,3不能借(四階b樹(shù)1< i< 3),2下來(lái)與空結(jié)點(diǎn)和3結(jié)點(diǎn)合并,導(dǎo)致原本2元素所在結(jié)點(diǎn)為空,下溢,6結(jié)點(diǎn)不能借,4下來(lái)與空結(jié)點(diǎn)和6結(jié)點(diǎn)合并,造成4元素原本所在結(jié)點(diǎn)為空,兄弟結(jié)點(diǎn)12 16結(jié)點(diǎn)可以借,于是以8為基點(diǎn)旋轉(zhuǎn),12成為新的根結(jié)點(diǎn),8接收12的原本的左結(jié)點(diǎn),同時(shí)下來(lái)與4元素原本所在空結(jié)點(diǎn)合并,接收4下來(lái)與空結(jié)點(diǎn)和6結(jié)點(diǎn)合并的結(jié)點(diǎn)作為左子結(jié)點(diǎn)。
總結(jié)
以上是生活随笔為你收集整理的2020-10-14 B树 概念添加删除笔记的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 2021- 10 -13 AVL树的平衡
- 下一篇: 2021-10-15 红黑树 概念和平衡