1. Red-Black tree
• Recall binary search tree
– Key values in the left subtree <= the node value
– Key values in the right subtree >= the node value
• Operations:
– insertion, deletion
– Search, maximum, minimum, successor,
predecessor.
– O(h), h is the height of the tree.
2. Red-black trees
• Definition: a binary tree, satisfying:
1. Every node is red or black
2. The root is black
3. Every leaf is NIL and is black
4. If a node is red, then both its children are black
5. For each node, all paths from the node to
descendant leaves contain the same number of
black nodes.
• Purpose: keep the tree balanced.
• Other balanced search tree:
– AVL tree, 2-3-4 tree, Splay tree, Treap
4. Fields and property
• Left, right, ,parent, color, key
• bh(x), black-height of x, the number of black
nodes on any path from x (excluding x) to a leaf.
• A red-black tree with n internal nodes has height
at most 2log(n+1).
– Note: internal nodes: all normal key-bearing nodes.
External nodes: Nil nodes or the Nil Sentinel.
– A subtree rooted at x contains at least 2bh(x)
-1 internal
nodes.
– By property 4, bh(root)≥h/2.
– n ≥ 2h/2
-1
5. Some operations in log(n)
• Search, minimum, maximum, successor,
predecessor.
• Let us discuss insert or delete.
9. Properties violations
• Property 1 (each node black or red): hold
• Proper 3: (each leaf is black sentinel): hold.
• Property 5: same number of blacks: hold
• Property 2: (root is black), not, if z is root
(and colored red).
• Property 4: (the child of a red node must be
black), not, if z’s parent is red.