霍夫曼樹 二三樹 紅黑樹 B樹 B+樹


  • 霍夫曼樹:

特點:帶權路徑長度最短,∑(每個節點的權重)*(每個節點的層數)

生成:每次合並權值最小的兩個節點(子樹)建立二叉樹,將合並后的子樹作為新節點,權值為節點(子樹)權值之和

  • 二三樹:

特點:平衡查找樹,每個葉子節點為空且層數相同,查找時間復雜度O(lgn)

生成:2節點包含一個key和兩個子節點(left->key<key<right->key),3節點包含兩個key和三個子節點(left->key<key1<middle->key<key2<right->key);在(倒數第二層)2節點插入則直接加入,在(倒數第二層)3節點插入則需要進行節點分裂,並可能層層向上傳播分裂

  • 紅黑樹:

特點:相對最平衡的二叉樹,每個葉子節點為空且路徑包含相同數量的黑節點,紅節點不連續存在且向左傾斜(可以把紅節點與右側黑節點看成一個3節點),查找時間復雜度O(lgn)

生成:根節點為黑色;嘗試插入紅節點,如果插入后不再平衡則進行左旋/右旋;如果插入后兩個子節點都為紅色則顏色反轉

  • B樹:

特點:根節點包含1~m-1個key,至少有兩個子節點,非根節點包含m/2~m-1個key,至少有m/2+1個子節點

生成:在葉子節點插入,如果節點滿則分裂節點,一個key加入父節點;如果key滿則遞歸向上

  • B+樹:

特點:類似B樹,但所有key與data都在葉子節點分布

生成:類似B樹

 

 

 

參考文獻:

https://blog.csdn.net/aircattle/article/details/52347955

https://www.cnblogs.com/vianzhang/p/7922426.html

http://www.cnblogs.com/yangecnu/p/Introduce-B-Tree-and-B-Plus-Tree.html

http://www.cnblogs.com/yangecnu/p/Introduce-2-3-Search-Tree.html

http://www.cnblogs.com/yangecnu/p/Introduce-Red-Black-Tree.html

https://blog.csdn.net/panglinzhuo/article/details/79437402

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM