B-樹的插入過程介紹
上文http://www.dhdzp.com/article/154153.htm我們介紹了B-樹的性質,本文我們來介紹一下B-樹的插入過程。
插入過程和樹的構建過程本質是一致的,即都是進行插入操作,并對插入后的B-樹進行調(diào)整。
我們設定B-樹的階為5。用關鍵字序列{1,2,6,7,11,4,8,13,10,5,17,9,16,20,3,12,14,18,19,15}來構建一棵B-樹。
因為樹的階為5,那么,每個節(jié)點最多有5個子節(jié)點,每個節(jié)點內(nèi)的關鍵字個數(shù)為3~4個。
于是,第一步是插入1,2,6,7作為一個節(jié)點。
然后插入11,得到1,2,6,7,11. 因為節(jié)點個數(shù)超過4,所以需要對該節(jié)點進行拆分。選取中間節(jié)點6,進行提升,提升為父節(jié)點,于是得到:

有一個規(guī)則是新插入的節(jié)點總是出現(xiàn)在葉子節(jié)點上,接著插入4,8,13,直接插入即可,得到

然后插入10. 得到

因為最右下的節(jié)點內(nèi)有5個元素,超過最大個數(shù)4了,所以需要進行拆分,把中間節(jié)點10進行提升,上升到和6一起,形成如下結構。

然后插入5,17,9,16,得到如下

之后插入20,插入20后,最右下節(jié)點內(nèi)元素個數(shù)為5個,超過最大個數(shù)4個,所以,需要把16進行提升,形成如下結構

之后插入3、12、14、18、19,后,形成如下結構。

然后插入15,會導致13提升到根節(jié)點,這時,根節(jié)點會有5個節(jié)點,那么,根節(jié)點中的10會再次進行提升,形成如下結構。

結束。
總結
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關內(nèi)容請查看下面相關鏈接
相關文章
Mysql中substring_index函數(shù)實現(xiàn)字符分割一行變多行
在MySQL中,字符串分割是一個常見的操作,本文主要介紹了Mysql中substring_index函數(shù)實現(xiàn)字符分割一行變多行,具有一定的參考價值,感興趣的可以了解一下2023-12-12
MySQL用戶管理與PostgreSQL用戶管理的區(qū)別說明
這篇文章主要介紹了MySQL用戶管理與PostgreSQL用戶管理的區(qū)別說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-01-01
MySQL實現(xiàn)分詞搜索(FULLTEXT)的方法
這篇文章主要介紹了MySQL實現(xiàn)分詞搜索(FULLTEXT)的方法,包括全文搜索的簡單使用,建表添加FULLTEXT索引使用該技術非常簡單,首先需要有一張表,我建立了一張圖書表并插入了兩條數(shù)據(jù),需要的朋友可以參考下2022-10-10

