Drzewa czerwono-czarne przypadki wstawiania

Transkrypt

Drzewa czerwono-czarne przypadki wstawiania
?
Drzewa czerwono-czarne
przypadki wstawiania
B
x oznacza czerwony węzeł, którego ojciec może być
czerwony. Jeżeli tak jest, dopasowujemy któryś z poniższych
przypadków.
x
na czerwono
nowy x
C
D
na czarno
na czarno
A
C
B
D
A
Uwaga: czarne węzły mogą być wartownikami
Przypadek 1: brat ojca x czerwony.
(x może być lewym - jak na rysunku - albo prawym synem
swojego ojca)
C
A
C
B
D
B
x
nowy x
B
C
D
B
x
A
A
D
x
A
na czarno
C na czerwono
D
T2
T1
T2
T1
Przypadek 2: brat ojca węzła x jest czarny, węzeł x i jego
ojciec leżą w różnych kierunkach tworząc zakręt.
Doprowadzamy do przypadku 3.
Przypadek 3: brat ojca węzła x jest czarny, węzeł x i jego
ojciec leżą w tym samym kierunku. Drzewo naprawione.
Drzewa czerwono-czarne
przypadki usuwania
x oznacza węzeł, od którego zaczynając brakuje jednego
czarnego węzła na ścieżkach w dół drzewa
B
B
x
x
na czarno
C
A
C
A
zarówno x jak i inne czarne węzły mogą być wartownikami
Przypadek 0: węzeł x jest czerwony
na czarno
A
x
x
na czerwono
B
D
A
nowy
C
E
nowy
B
D
E
x
B
na czerwono
A
D
A
D
x
B
C
C
E
C
E
Przypadek 2: brat węzłą x i obydwaj synowie brata czarni
Przypadek 1: brat x czerwony
x
kolor jak był B
B
B
x
A
D
B
na czarno
A
x
C
D
D
B
na czerwono
C1
C
C1
D
E
C2
C2
na czarno
na czarno
A
C
E
A
E
C
E
Przypadek 3: brat x czarny, syn brata skierowany
tak jak x jest czerwony a drugi syn czarny; doprowadzamy do
przypadku 4
Przypadek 4: brat x czarny, syn brata skierowany przeciwnie
niż x jest czerwony. Drzewo naprawione.