B 樹的結構(一)

2021-07-07 09:59:11 字數 649 閱讀 1337

b-樹把儲存塊組織成一顆樹,這棵樹是平衡的,即從樹根到樹葉的所有路徑都一樣。

對應於每個b-樹都有乙個引數n,它決定了b-樹的所有儲存塊的布局。每個儲存塊存放n個查詢鍵值和n+1個指標。

根節點僅有兩個指標,

葉子節點的最後乙個指標指向按順序的下乙個葉節點。

同葉子節點一樣,內部結點的鍵和指標槽也沒有必要全部占用,不過,當n=3時,乙個內部節點至少要出現乙個鍵值和兩個指標。

b-樹的應用:b-樹的查詢鍵是資料檔案的主鍵,且索引是稠密的。

b-樹變種的另一些應用允許葉節點中查詢鍵重複出現。

b-樹的插入原則:

1、我們設法在適當的葉節點為新鍵找到空閒空間,如果有的話,我們就把鍵放在那裡。

2、如果在適當的葉節點中沒有空間,我們就把該葉節點**成兩個並且把其中的鍵分到這兩個新節點中,使每個新節點有一半或剛好超過一半的鍵。

3、某一層的節點**在其上一層看來,相當於是要在這一較高的層次上插入乙個新的鍵-指針對。因此,我們可以在這一較高層次上遞迴地使用這個插入策略:如果有空間,則插入;如果沒有,則**這個父節點且繼續向樹的高層推進。

4、例外的是,如果我們試圖插入鍵到根節點中並且根節點沒有空間,那麼我們就**根節點成兩個節點且在更上一層建立乙個新的根節點,這個新的根節點有兩個剛**成的節點作為它的子節點。

B 樹的結構

define max l000 結點中關鍵字的最大數目 max m 1,m是b 樹的階 define min 500 非根結點中關鍵字的最小數目 min m 2 1 typedef int keytype keytype應由使用者定義 typedef struct nodebtreenode typ...

B 樹,B 樹,B 樹的學習(一)

二叉搜尋樹的搜尋 從根節點開始,若果所查詢的關鍵字等於根結點的值,那麼命中。否則如果所查詢的關鍵字小於其根結點的,那麼進入左子樹,否則進入右字樹。如果左子樹和右字樹的指標都為空,那麼未找到這樣的關鍵字。如果二叉搜尋樹的所有非葉子結點的左右子樹的結點數目均保持差不多 平衡 那麼b樹 的搜尋效能逼近二分...

資料結構 四 B樹 B 樹 B 樹 B 樹

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