A red-black tree is a binary search tree in which the root element is colored black,
every other element is colored either red or black, and for which the following two
rules hold:
1. Red Rule: if an element is colored red, none of its children can be colored red.
2. Path Rule: the number of black elements is the same in all paths from the
root to elements with one child or with no children.
The height of a red-black tree is always logarithmic in n, the number of elements in
the tree.
The Java Collections Framework implements red-black trees in the TreeMap
class. In a TreeMap object each element has a unique key part—by which the element
is identified—and a value part, which contains the rest of the element. The elements
are stored in a red-black tree in key-ascending order, according to their “natural”
order (implementing the Comparable interface) or by the order specified by a usersupplied
Comparator object (there is a constructor in which the Comparator object is
supplied). For the containsKey, get, put, and remove methods, worstTime(n) is logarithmic
in n.
The treeSort method is a fast sort based on a TreeMap object.
A TreeSet is a Collection in which duplicate elements are not allowed and in
which the elements are stored in order (according to the Comparable ordering or a
user-supplied Comparator). The TreeSet class is implemented in the Java Collections
Framework as a TreeMap in which each element has the same dummy valuepart.
For the contains, add, and remove methods, worstTime(n) is logarithmic in n.
To learn more about the book this website supports, please visit its Information Center.