1. 2-3-4樹的定義

2-3-4樹是一種階為4的B樹。它是一種自平衡的數(shù)據(jù)結(jié)構(gòu),可以保證在O(lgn)的時(shí)間內(nèi)完成查找、插入和刪除操作。它主要滿足以下性質(zhì):

(1)每個(gè)節(jié)點(diǎn)每個(gè)節(jié)點(diǎn)有1、2或3個(gè)key,分別稱為2(孩子)節(jié)點(diǎn),3(孩子)節(jié)點(diǎn),4(孩子)節(jié)點(diǎn)。

(2)所有葉子節(jié)點(diǎn)到根節(jié)點(diǎn)的長(zhǎng)度一致(也就是說葉子節(jié)點(diǎn)都在同一層)。

(3)每個(gè)節(jié)點(diǎn)的key從左到右保持了從小到大的順序,兩個(gè)key之間的子樹中所有的

key一定大于它的父節(jié)點(diǎn)的左key,小于父節(jié)點(diǎn)的右key。

Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),移動(dòng)開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

2. 插入操作

(1)如果2-3-4樹中已存在當(dāng)前插入的key,則插入失敗,否則最終一定是在葉子節(jié)點(diǎn)中進(jìn)行插入操作

(2)如果待插入的節(jié)點(diǎn)不是4節(jié)點(diǎn),那么直接在該節(jié)點(diǎn)插入

(3)如果待插入的節(jié)點(diǎn)是個(gè)4節(jié)點(diǎn),那么應(yīng)該先分裂該節(jié)點(diǎn)然后再插入。一個(gè)4節(jié)點(diǎn)可以分裂成一個(gè)根節(jié)點(diǎn)和兩個(gè)子節(jié)點(diǎn)(這三個(gè)節(jié)點(diǎn)各含一個(gè)key)然后在子節(jié)點(diǎn)中插入,我們把分裂形成的根節(jié)點(diǎn)看成向上層插入的節(jié)點(diǎn),然后重復(fù)第2步和第3步。

   如果是在4節(jié)點(diǎn)中進(jìn)行插入,每次插入會(huì)多出一個(gè)分支,如果插入操作導(dǎo)致根節(jié)點(diǎn)分裂,則2-3-4樹會(huì)生長(zhǎng)一層。

Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),移動(dòng)開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)


Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),移動(dòng)開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)


Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),移動(dòng)開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)


Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),移動(dòng)開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式