b樹(多路平衡查詢樹)
b+樹
由二叉查詢樹進化而來---->m叉查詢樹
由分塊查詢進化而來--->多級分塊查詢
根節點的關鍵字範圍:[1,m-1]
根節點的關鍵字範圍:[2,m]
n個關鍵字對應n+1個分支
n個關鍵字對應n個分支
關於分支是一樣的:根節點分支數範圍:[2,m];除根節點外,其他節點數範圍:[m/2,m]
所有節點中都包含記錄資訊
只有葉子結點中包含記錄資訊
不支援順序查詢
支援順序查詢
查詢結束時可能停在任意節點,查詢速度不穩定
查詢結束時只能停在葉子節點,查詢速度穩定
插入刪除原則:每個節點內部有序,樹始終平衡,滿足關鍵字個數和分支個數要求
應用:關係型資料庫的索引(mysql)
1.若插入導致關鍵字數超過上限
從中間位置**成兩個部分,右邊部分放在新節點中,左邊部分放在原節點中,中點位置插入原節點的父節點中。新元素一定是插入到最底層的終端節點,用查詢來確定插入位置
2.若進一步導致父節點的關鍵字也超過上限:左右劃分,繼續向上**成新的節點
1.若被刪除的關鍵字在終端節點
刪除後關鍵字個數未低於下限,直接刪除
低於下限,從左右兄弟那藉
2.若刪除的關鍵字在非終端節點
一定可以轉化為終端結點刪除,用直接前驅或者直接後繼來替代被刪除的關鍵字,隨後刪除這個直接前驅或者直接後繼
資料結構 四 B樹 B 樹 B 樹 B 樹
b樹 即二叉搜尋樹 1.所有非葉子結點至多擁有兩個兒子 left和right 2.所有結點儲存乙個關鍵字 3.非葉子結點的左指標指向小於其關鍵字的子樹,右指標指向大於其關鍵字的子樹 如 b樹的搜尋,從根結點開始,如果查詢的關鍵字與結點的關鍵字相等,那麼就命中 否則,如果查詢關鍵字比結點關鍵字小,就進...
資料結構之B樹 B 樹 B 樹 B 樹
b 樹b 樹 b b b 樹是為了磁碟或其它儲存裝置而設計的一種平衡多路查詢樹 相對於二叉,b樹每個內節點有多個分支 與紅黑樹相比,在相同的的節點的情況下,一顆b樹的高度遠遠小於紅黑樹的高度.b樹上操作的時間通常由訪問磁碟的時間和cpu計算時間這兩部分構成,而cpu的速度非常快,所以b樹的操作效率取...
資料結構 B樹 B 樹 B 樹 B 概念
b樹 即二叉搜尋樹 1.所有非葉子結點至多擁有兩個兒子 left和right 2.所有結點儲存乙個關鍵字 3.非葉子結點的左指標指向小於其關鍵字的子樹,右指標指向大於其關鍵字的子樹 如 b樹的搜尋,從根結點開始,如果查詢的關鍵字與結點的關鍵字相等,那麼就命中 否則,如果查詢關鍵字比結點關鍵字小,就進...