《演算法導論》筆記 第18章 18 1 B樹的定義

2021-08-28 05:39:49 字數 1003 閱讀 8306

一棵b樹t是具有以下性質的有根樹:

1) 每個節點x有以下域:

a) n[x],當前儲存在結點x中的關鍵字數

b) n[x]個關鍵字本身,以非降序存放

c) leaf[x]乙個布林值,如果x是葉子的話,它為true

2) 每個結點x還包含n[x]+1個指向其子女的指標c_1[x],c_2[x],...,c_[x]。

3) 個關鍵字key_i[x]對儲存在各子樹中的關鍵字範圍加以分割。

4) 每個葉結點具有相同的深度,即樹的高度h。

5) 每個葉結點包含的關鍵字數有乙個上下界。用最小度數t>=2來表示。

a) 非根的結點至少有t-1個關鍵字,非根的內結點至少有t個子女。非空樹的根結點至少有乙個關鍵字。

b) 每個結點可包含至多2t-1個關鍵字。

t=2時,2-3-4樹。

b樹的高度

如果n>=2,則對任意一棵包含n個關鍵字、高度為h、最小度數t>=2的b樹t,有:h <= log_t  

18.1-1  為什麼不允許b樹的最小度數t為1?

若度為一,則至少有0個關鍵字,至多有1個關鍵字,就是個鏈。

18.1-2 t應取什麼樣的值,才能使圖中的樹是棵合法的b樹。

圖中至少有2個子女,最多有4個子女。因此t=2。

18.1-3 請給出表示的最小度數為2的所有合法的b樹。略。

18.1-4 一棵高度為h的b樹中,可以儲存最多多少個關鍵字?用最小度數t函式表示。

18.1-5 如果紅黑樹中的每個黑結點吸收它的紅子女,並把它們的子女併入自身,描述這個結果的資料結構。

黑結點至多有兩個紅子女。每個子女最多帶來乙個分支。

因此是一棵至多有3個關鍵字,4個子女的樹。

《演算法導論》筆記 B樹

演算法 cc c 資料結構 b樹是平衡樹的一種,主要用於操作儲存在磁碟等二級儲存裝置上的大量資料。相比起記憶體 主存 來說,磁碟操作的速度非常慢 慢幾個數量級 所以涉及到儲存在磁碟的資料的時候,儘量減少磁碟的讀取和寫入操作對於提高操作速度是非常重要的。b樹就是針對這個特點進行設計以滿足相應要求的。b...

演算法導論B樹學習筆記

定義就不重複說明了 b樹與b 樹的不同是,b 樹中非葉子節點的節點也會出現在葉子節點中 b樹要求至少t 1,至多2t 1 b樹一 插入 1 關於高度的定理 h l ogtn 1 2h leqslant log t frac h logt 2n 1 2 操作 抽象出來就是插入到某個節點,滿了之後從中間...

《演算法導論》筆記 第2章

本章出現了全書第乙個演算法 插入排序。插入排序並不是最直觀的排序演算法,拿它做第乙個講解應該有其他的理由。通過插入排序的講解,偽 約定 迴圈不變式 演算法分析等最基礎的知識被帶了出來。此後又講了第二個演算法 合併排序,並引出了演算法設計中的兩種常見型別 增量法 incremental 和分治法 di...