上文我們介紹了b-樹的性質,本文我們來介紹一下b-樹的插入過程。
插入過程和樹的構建過程本質是一致的,即都是進行插入www.cppcns.com操作,並對插入後的b-樹進行調整。
我們設定b-樹的階為5。用關鍵字序列來構建一棵b程式設計客棧-樹。
因為樹的階為5,那麼,每個節點最多有5個子節點,每個節點內的關鍵字個數為3~4個。
於是,第一步是插入1,2,6,7作為乙個節點。
然後插入11,得到1,2,6,7,11. 因為節點個數超過4,所以需要對該節點進行拆分。選取中間節點6,進行提公升,提公升為父節點,於是得到:
www.cppcns.com
有乙個規則是新插入的節點總是出現在葉子節點上,接著插入4,8,13,直接插入即可,得到
然後插入10. 得到
因為最右下的節點內有5個元素,超過最大個數4了,所以需要進行拆分,把中間節點10進行提公升,上公升到和6一起程式設計客棧,形成如下結構。
然後插入5,17,9,16,得到如下
之後插入20,插入20後,最右下節點內元素個數為5個,超過最大個數4個,所以,需要把16進行提公升,形成如下結構
之後插入3、12、14、18、19,後,形成如下結構。
然後插入15,會導致13提公升到根節點,這時,根節點會有5個節點,那麼,根節點中的10會再次進行提公升,形成如下結構。
結束。總結
B 樹插入過程改進
一棵m階的b 樹需滿足下列條件 1 每個分支節點最多有m棵子樹 2 非葉根節點至少有兩棵子樹,其他每個分支節點至少有m 2棵子樹 3 節點的子樹個數與關鍵字個數相等 4 所有葉節點包含包含全部關鍵字及指向相應記錄的指標,而且葉節點中將關鍵字按大小順序排列,並且相鄰葉節點按大小順序相互鏈結起來 5 所...
B樹,B 樹,B 樹,B 樹介紹
b樹 即二叉搜尋樹 1.所有非葉子結點至多擁有兩個兒子 left和right 2.所有結點儲存乙個關鍵字 3.非葉子結點的左指標指向小於其關鍵字的子樹,右指標指向大於其關鍵字的子樹 如 b樹的搜尋,從根結點開始,如果查詢的關鍵字與結點的關鍵字相等,那麼就命中 否則,如果查詢關鍵字比結點關鍵字小,就進...
B樹 B 樹 B 樹 B 樹介紹
b 樹就是b樹 可能有部分人會習慣上把b 樹讀為b減樹,其實並不存在b減樹,只是讀法上的不同而已 b就是balanced,平衡的意思。b 樹就是指的b樹,特此說明一下。先介紹一下二叉搜尋樹。顧名思義,二叉搜尋樹,即指最多擁有兩個叉,這裡的叉即為所有非葉子結點的兒子 lift和right 所有的結點儲...