Left-leaning red–black tree: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
m v2.05 - Fix errors for CW project (Reference list missing)
Undid revision 1220003608 by Noamz (talk)
Tag: Reverted
Line 37: Line 37:
All of the red-black tree algorithms that have been proposed are characterized by a worst-case search time bounded by a small constant multiple of {{math|log ''N''}} in a tree of {{mvar|N}} keys, and the behavior observed in practice is typically that same multiple faster than the worst-case bound, close to the optimal {{math|log ''N''}} nodes examined that would be observed in a perfectly balanced tree.
All of the red-black tree algorithms that have been proposed are characterized by a worst-case search time bounded by a small constant multiple of {{math|log ''N''}} in a tree of {{mvar|N}} keys, and the behavior observed in practice is typically that same multiple faster than the worst-case bound, close to the optimal {{math|log ''N''}} nodes examined that would be observed in a perfectly balanced tree.


Specifically, in a left-leaning red-black [[2–3 tree]] built from {{mvar|N}} random keys, Sedgewick's experiments suggest that:
Specifically, in a left-leaning red-black [[2–3 tree]] built from {{mvar|N}} random keys, Sedgewick's experimental results suggest that:
* A random successful search examines {{math|log<sub>2</sub> ''N'' &minus; 0.5}} nodes.
* A random successful search examines {{math|log<sub>2</sub> ''N'' &minus; 0.5}} nodes.
* The average tree height is about {{math|2 ln ''N''}}
* The average tree height is about {{math|2 log<sub>2</sub> ''N''}}
* The average size of left subtree exhibits log-oscillating behavior.
* The average size of left subtree exhibits log-oscillating behavior.



Revision as of 18:05, 26 April 2024

Left-leaning red–black tree
Typetree
Invented2008
Invented byRobert Sedgewick
Time complexity in big O notation
Operation Average Worst case
Search O(log n) O(log n)
Insert O(log n) O(log n)
Delete O(log n) O(log n)
Space complexity
Space O(n) O(n)

A left-leaning red–black (LLRB) tree is a type of self-balancing binary search tree, introduced by Robert Sedgewick.[1] It is a variant of the red–black tree and guarantees the same asymptotic complexity for operations, but is designed to be easier to implement.

Properties

A left-leaning red-black tree satisfies all the properties of a red-black tree:

  1. Every node is either red or black.
  2. A NIL node is considered black.
  3. A red node does not have a red child.
  4. Every path from a given node to any of its descendant NIL nodes goes through the same number of black nodes.
  5. The root is black (by convention).

Additionally, the left-leaning property states that:

  1. A node must not have a red right child.

Relation to 2–3–4 trees

Left-leaning red–black trees are isomorphic to 2–3–4 trees.

To see this, recall that 2–3–4 trees extend binary trees by allowing nodes with three child nodes and two data elements, as well as nodes with four child nodes and three data elements. (These are called 3-nodes and 4-nodes, respectively.) To any conventional red-black tree one can associate a 2–3–4 tree by interpreting red links (that is, links to a red child) as internal links in 3-nodes and 4-nodes. However, this correspondence is not one-to-one, since a 3-node corresponds to a black node with one red child on either the left or the right. That is, 3-nodes may be either "left-leaning" or "right-leaning". By forbidding nodes from having right red children, we thereby obtain a one-to-one correspondence between left-leaning red–black trees and 2–3–4 trees.

Analysis

All of the red-black tree algorithms that have been proposed are characterized by a worst-case search time bounded by a small constant multiple of log N in a tree of N keys, and the behavior observed in practice is typically that same multiple faster than the worst-case bound, close to the optimal log N nodes examined that would be observed in a perfectly balanced tree.

Specifically, in a left-leaning red-black 2–3 tree built from N random keys, Sedgewick's experimental results suggest that:

  • A random successful search examines log2 N − 0.5 nodes.
  • The average tree height is about 2 log2 N
  • The average size of left subtree exhibits log-oscillating behavior.

Bibliography

References

  1. ^ Sedgewick, Robert (2008). "Left-Leaning Red–Black Trees" (PDF). Left-Leaning Red–Black Trees. Department of Computer Science, Princeton University.

External links