2.8.8 - Red-Black Tree
Last updated
Last updated
是一棵Binary Search Tree且滿足:
節點的顏色非黑即紅
紅色節點的兩個子點的顏色一定要是黑色(任何路徑上不可出現連續的紅色節點)
NULL
是為黑色節點
Root一律是黑色節點
Root到不同的Leaf上的路徑皆具有相同的黑色節點數目
尋找x適合插入的位置
尋找的過程中,若發生節點的兩個子點是紅色的則必須做顏色轉換(做完後需檢查有無連續的紅色節點存在,若有必須做Rotation)
置入x且標為紅色節點
檢查是否有連續紅色節點,若有必須做Rotation
(將Root改為黑色節點)
Rotation:與AVL Tree相似
LL
LR
RL
RR
{2, 7, 8, 1, 5, 6, 4}建立一個Red-Black Tree