B-樹的插入過程介紹
阿新 • • 發佈:2020-01-09
上文https://www.jb51.net/article/154153.htm我們介紹了B-樹的性質,本文我們來介紹一下B-樹的插入過程。
插入過程和樹的構建過程本質是一致的,即都是進行插入操作,並對插入後的B-樹進行調整。
我們設定B-樹的階為5。用關鍵字序列{1,2,6,7,11,4,8,13,10,5,17,9,16,20,3,12,14,18,19,15}來構建一棵B-樹。
因為樹的階為5,那麼,每個節點最多有5個子節點,每個節點內的關鍵字個數為3~4個。
於是,第一步是插入1,2,6,7作為一個節點。
然後插入11,得到1,2,6,7,11. 因為節點個數超過4,所以需要對該節點進行拆分。選取中間節點6,進行提升,提升為父節點,於是得到:
有一個規則是新插入的節點總是出現在葉子節點上,接著插入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會再次進行提升,形成如下結構。
結束。
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對我們的支援。如果你想了解更多相關內容請檢視下面相關連結