紅黑樹與2-3樹

算法導論中的紅黑樹:

1:每個結點都爲紅色或者黑色
2:根意結點爲黑色
3:每一個葉子結點(最後的空節點)是黑色
4:如果一個意結點爲紅色,那麼它的孩子結點爲黑色
5:從任意結點到葉子結點經過的黑結點都一樣(對每個結點,從該結點到其子孫結點的所有路徑上包含相同數目的黑結點。)

紅黑樹:二分搜索樹–>特殊機制
2-3樹:二分搜索樹–>特殊機制


紅黑樹與2-3樹是等價的

2-3樹:

滿足二分搜索樹的基本性質;
結點可以存放一個元素或者兩個元素
2-3樹添加元素不會將元素添加到空結點上【產生結點融合】

性質:2-3樹是一棵絕對平衡的樹


2-3樹:

在這裏插入圖片描述
2-3樹添加結點:
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

插入結點的幾種情況:

1:如果插入2-結點

在這裏插入圖片描述
2:如果插入3-結點
在這裏插入圖片描述
3:如果插入3-結點,父親結點2-結點
在這裏插入圖片描述
4:如果插入3-結點,父親結點爲3-結點
在這裏插入圖片描述
紅黑樹與2-3樹

在這裏插入圖片描述
紅黑樹與2-3樹的轉換:

在這裏插入圖片描述
紅黑樹添加新元素:
在這裏插入圖片描述
紅黑樹與其他性能總結比較:

1:對於完全隨機的數,普通二分搜索樹很好用
	缺點:極端情況下退化成鏈表(或高度不平衡)
2:查詢較多情況下,AVL很好用
3:紅黑樹統計性能更優,
4:紅黑樹更擅長增加和刪除較多的情況,但是綜合增刪改查所有操作,紅黑樹更有優勢【2logn高度】
5:TreeMap、TreeSet 底層實現:紅黑樹

Splay Tree(伸展樹):
	另外一種統計性能優秀的樹結構
	局部性原理:剛被訪問的內容下次高概率被再次訪問
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章