B樹與B 樹最簡知識總結與對比

2021-10-05 21:49:34 字數 798 閱讀 2626

b樹中所有節點的孩子節點數的最大值稱為b樹的階,通常用m表示,m約束了每個節點子樹的最大數量(定義),也約束了子樹的最少數量(m/2向上取整)。定義如下

b樹特點

b樹的根節點可以常駐記憶體,其餘節點全部存放在磁碟上!

b樹每次讀入的節點可以包含很多關鍵字(上限由m決定),與外存的批量訪問的特點相對應。

b樹更加關注常係數的優化。常係數的單位為萬或者10萬。

當m取256時,相比平衡bst的高度,bst在最壞情況下樹高(io次數)降低其1/7,最好情況下樹高降低1/8

b樹查詢

與bst很類似,只是每個節點都是多個關鍵字的有序表。b樹的查詢包含兩個基本操操作:1.在b樹中找節點(磁碟io操作);2.在節點內找關鍵字(在記憶體中)

b樹插入:上溢然後**。

b數的插入(定位+插入),因插入是使得節點的關鍵字數量增加,當個數在[m/2-2,m-1]外(b樹定義)時,必須對節點進行**,**的過程等價於在父節點中插入乙個關鍵碼,所以,**過程可能一直進行到根節點。b樹長高的唯一方式:根節點出發生了上溢操作,此時**後,根的子樹僅為2.

b樹的刪除:下溢然後合併。

當直接刪除後滿足b樹定義,則ok,否則,然後看兄弟夠借,為了保證有序性,具體是通過三角借債的方式完成,最後才是合併。

定義

B樹(B樹 ,B 樹 ,B 樹)與多叉樹

我們先來看看二叉樹存在的問題 二叉樹的操作 效率較高,但是也存在問題,請看下面的二叉樹 二叉樹需要載入到記憶體的,如果二叉樹的節點少,沒有什麼問題,但是如果二叉樹的節點很多 比如1億 就存在如下問題 問題1 在構建二叉樹時,需要多次進行i o操作 海量資料存在資料庫或檔案中 節點海量,構建二叉樹時,...

B樹 B 樹 B 樹 B 樹 總結

b樹 1.所有非葉子結點至多擁有兩個兒子 left和right 2.所有結點儲存乙個關鍵字 3.非葉子結點的左指標指向小於其關鍵字的子樹,右指標指向大於其關鍵字的子樹 b樹的搜尋,從根結點開始,如果查詢的關鍵字與結點的關鍵字相等,那麼就命中 否則,如果查詢關鍵字比結點關鍵字小,就進入左兒子 如果比結...

B 樹與B 樹小結

一 b 樹 1.b 樹定義與特性 b 樹是b 樹的變體,也是一種多路搜尋樹 其定義基本與b 樹同,除了 1 非葉子結點的子樹指標與關鍵字個數相同 2 非葉子結點的子樹指標 p i 指向關鍵字值屬於 k i k i 1 的子樹 b 樹是開區間 3 為所有葉子結點增加乙個鏈指標 4 所有關鍵字都在葉子結...