紅黑樹的特點

2021-09-24 13:51:44 字數 375 閱讀 8026

紅黑樹本質上是一顆自平衡的二叉樹

a.每乙個節點非紅即黑

b.根節點一定是黑節點

c.紅節點下一定是黑節點,但黑節點下可以是紅節點,也可以是黑節點

d.最頂層的葉子節點一定是黑色的空節點

e.任意一條路徑經過的黑節點個數一致,即黑節點高度一致

f.新新增的子節點一定是紅節點

修正過程:

1)當前節點為紅且父節點為紅,叔父節點也為紅色,將父節點及叔父節點塗黑,將祖父節點塗紅。

2)當前節點為紅且父節點為紅,叔父節點為黑色,當前節點是右子葉,要以當前節點為基準進行左旋

3)當前節點為紅且父節點為紅,叔父節點為黑色,當前節點為左子葉,要以父節點為基準進行右旋

紅黑樹下 紅黑樹的實現

1.實現紅黑樹的基本思想 實際上,紅黑樹是有固定的平衡過程的 遇到什麼樣的節點分布,我們就對應怎麼去調整。只要按照這些固定的調整規則來操作,就能將乙個非平衡的紅黑樹調整成平衡的。首先,我們需要再來看一下紅黑樹的定義 在插入 刪除節點的過程中,第 三 四點要求可能會被破壞,所以 平衡調整 實際上就是把...

紅黑樹下 紅黑樹的實現

1.實現紅黑樹的基本思想 實際上,紅黑樹是有固定的平衡過程的 遇到什麼樣的節點分布,我們就對應怎麼去調整。只要按照這些固定的調整規則來操作,就能將乙個非平衡的紅黑樹調整成平衡的。首先,我們需要再來看一下紅黑樹的定義 在插入 刪除節點的過程中,第 三 四點要求可能會被破壞,所以 平衡調整 實際上就是把...

紅黑樹筆記 紅黑樹的插入操作

紅黑樹的插入操作可以在o logn 的時間內完成。開始插入節點的時候和二叉查詢樹一樣,只需要最後將插入的節點著成紅色,為了保證紅黑樹的性質,需要通過rb insertfixup函式來調整該節點,對其重新著色並旋轉。下面先呼叫rb insert 函式將乙個節點插入到紅黑樹中,同樣先上偽 rb inse...