254 lines
4.8 KiB
Text
254 lines
4.8 KiB
Text
Red Black Tree Test Program
|
|
===========================
|
|
|
|
Inserting G and resolving
|
|
- Root color set to black
|
|
|
|
Inserting H and resolving
|
|
|
|
B
|
|
B R
|
|
B B
|
|
--------
|
|
|
|
G
|
|
- H
|
|
- -
|
|
========
|
|
|
|
Inserting I and resolving
|
|
- Parent is red
|
|
- Uncle is black
|
|
- Right Right Case
|
|
- Rotate Left from right side of grandparent
|
|
- Swap grandparent/parent colors
|
|
|
|
B
|
|
R R
|
|
B B B B
|
|
--------
|
|
|
|
H
|
|
G I
|
|
- - - -
|
|
========
|
|
|
|
Inserting J and resolving
|
|
- Parent is red
|
|
- Uncle is red
|
|
- Grandparent set to red
|
|
- Uncle set to black
|
|
- Parent set to black
|
|
- Resolving Grandparent
|
|
- Root color set to black
|
|
|
|
B
|
|
B B
|
|
B B B R
|
|
B B
|
|
----------------
|
|
|
|
H
|
|
G I
|
|
- - - J
|
|
- -
|
|
================
|
|
|
|
B
|
|
B B
|
|
B B B R
|
|
B B
|
|
----------------
|
|
|
|
H
|
|
G I
|
|
- - - J
|
|
- -
|
|
================
|
|
|
|
Inserting K and resolving
|
|
- Parent is red
|
|
- Uncle is black
|
|
- Right Right Case
|
|
- Rotate Left from right side of grandparent
|
|
- Swap grandparent/parent colors
|
|
|
|
B
|
|
B B
|
|
B B R R
|
|
B B B B
|
|
----------------
|
|
|
|
H
|
|
G J
|
|
- - I K
|
|
- - - -
|
|
================
|
|
|
|
Inserting F and resolving
|
|
|
|
B
|
|
B B
|
|
R B R R
|
|
B B B B B B
|
|
----------------
|
|
|
|
H
|
|
G J
|
|
F - I K
|
|
- - - - - -
|
|
================
|
|
|
|
Inserting E and resolving
|
|
- Parent is red
|
|
- Uncle is black
|
|
- Left Left Case
|
|
- Rotate Right from left side of grandparent
|
|
- Swap grandparent/parent colors
|
|
|
|
B
|
|
B B
|
|
R R R R
|
|
B B B B B B B B
|
|
----------------
|
|
|
|
H
|
|
F J
|
|
E G I K
|
|
- - - - - - - -
|
|
================
|
|
|
|
Inserting D and resolving
|
|
- Parent is red
|
|
- Uncle is red
|
|
- Grandparent set to red
|
|
- Uncle set to black
|
|
- Parent set to black
|
|
- Resolving Grandparent
|
|
|
|
B
|
|
R B
|
|
B B R R
|
|
R B B B B B B B
|
|
B B
|
|
--------------------------------
|
|
|
|
H
|
|
F J
|
|
E G I K
|
|
D - - - - - - -
|
|
- -
|
|
================================
|
|
|
|
B
|
|
R B
|
|
B B R R
|
|
R B B B B B B B
|
|
B B
|
|
--------------------------------
|
|
|
|
H
|
|
F J
|
|
E G I K
|
|
D - - - - - - -
|
|
- -
|
|
================================
|
|
|
|
Inserting C and resolving
|
|
- Parent is red
|
|
- Uncle is black
|
|
- Left Left Case
|
|
- Rotate Right from left side of grandparent
|
|
- Swap grandparent/parent colors
|
|
|
|
B
|
|
R B
|
|
B B R R
|
|
R R B B B B B B
|
|
B B B B
|
|
--------------------------------
|
|
|
|
H
|
|
F J
|
|
D G I K
|
|
C E - - - - - -
|
|
- - - -
|
|
================================
|
|
|
|
Inserting B and resolving
|
|
- Parent is red
|
|
- Uncle is red
|
|
- Grandparent set to red
|
|
- Uncle set to black
|
|
- Parent set to black
|
|
- Resolving Grandparent
|
|
- Parent is red
|
|
- Uncle is black
|
|
- Left Left Case
|
|
- Rotate Right from left side of grandparent
|
|
- Swap grandparent/parent colors
|
|
|
|
B
|
|
R R
|
|
B B B B
|
|
R B B B B B R R
|
|
B B B B B B
|
|
--------------------------------
|
|
|
|
F
|
|
D H
|
|
C E G J
|
|
B - - - - - I K
|
|
- - - - - -
|
|
================================
|
|
|
|
B
|
|
R R
|
|
B B B B
|
|
R B B B B B R R
|
|
B B B B B B
|
|
--------------------------------
|
|
|
|
F
|
|
D H
|
|
C E G J
|
|
B - - - - - I K
|
|
- - - - - -
|
|
================================
|
|
|
|
Inserting A and resolving
|
|
- Parent is red
|
|
- Uncle is black
|
|
- Left Left Case
|
|
- Rotate Right from left side of grandparent
|
|
- Swap grandparent/parent colors
|
|
|
|
B
|
|
R R
|
|
B B B B
|
|
R R B B B B R R
|
|
B B B B B B B B
|
|
--------------------------------
|
|
|
|
F
|
|
D H
|
|
B E G J
|
|
A C - - - - I K
|
|
- - - - - - - -
|
|
================================
|
|
|
|
Inorder : A/R; B/B; C/R; D/R; E/B; F/B; G/B; H/R; I/R; J/B; K/R
|
|
|
|
Postorder: A/R; C/R; B/B; E/B; D/R; G/B; I/R; K/R; J/B; H/R; F/B
|
|
|
|
Preorder : F/B; D/R; B/B; A/R; C/R; E/B; H/R; G/B; J/B; I/R; K/R
|
|
|
|
Copying Tree
|
|
F
|
|
D H
|
|
B E G J
|
|
A C - - - - I K
|
|
- - - - - - - -
|
|
|
|
End Program
|
|
|