動態索引之B樹和B 樹

2021-09-12 01:41:28 字數 884 閱讀 6997

目的

是一種平衡的多分樹 (balanced tree)

根結點至少有兩個子結點

所有的葉結點在同一層

有 k 個子結點的非根結點恰好包含k-1個關鍵碼(注意比k小1)

樹高平衡,所有葉結點都在同一層

關鍵碼沒有重複,父結點中的關鍵碼是其子結點的分界

b 樹把(值接近)相關記錄放在同乙個磁碟頁中,從而利用了訪問區域性性原理

b 樹保證樹中至少有一定比例的結點是滿的

交替的兩步過程

把根結點讀出來,在根結點所包含的關鍵碼 k1,...,kj中查詢給定的關鍵碼值

否則,確定要查的關鍵碼值是在某個ki和ki+1 之間,於是取 pi 所指向的結點繼續查詢。如果pi 指向外部空結點,表示檢索失敗

**過程可能傳達到根結點(則樹公升高一層)

因為插入操作大部分是發生在建立階段,**的結點很快會增加新的關鍵碼。而如果送給兄弟結點,則會修改兄弟結點和父結點,訪外開銷太大。

最終根節點變為23。

沒插入乙個節點,節點平均**次數 s≤1/(m/2 -1)

是b 樹的一種變形,在葉結點上儲存資訊

m 階 b+ 樹的結構定義如下:

每個結點至多有 m 個子結點

每個結點(除根外)至少有[m/2]個子結點

根結點至少有兩個子結點

有 k 個子結點 的結點必有k個關鍵碼

插入——**

因此 b+ 樹的高度為[log0.75mn]

假設 b 樹充盈度也是75%,由於b樹包含隱含指標所以只能儲存2/3個(關鍵碼,隱含指標,子結點頁塊指標),則 b 樹結點有 0.667*0.75=0.5m 個子結點,b 樹的高度為[log0.5mn],比b+樹高

索引之B樹 B 樹 B 樹 B 樹

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

索引之B樹 B 樹 B 樹 B 樹詳解

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

B樹B 樹B 樹和B 樹

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