Red-black Tree: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 11: Line 11:
Red-black trees had been invented by Bayer (1972) and Guibas, Sedgewick (1978). They are a type of [[Binary_Search_Trees#Overview|binary search tree]] that self-balances on insertion and deletion, thus maintaining its height to a minimum, which leads to efficient operations. Almost all [[Binary_Search_Trees#Supported_Operations|binary search tree operations]] have a running time bounded by the tree height, and in this case the tree height stays constant at log n, yielding O(log n) operations.
Red-black trees had been invented by Bayer (1972) and Guibas, Sedgewick (1978). They are a type of [[Binary_Search_Trees#Overview|binary search tree]] that self-balances on insertion and deletion, thus maintaining its height to a minimum, which leads to efficient operations. Almost all [[Binary_Search_Trees#Supported_Operations|binary search tree operations]] have a running time bounded by the tree height, and in this case the tree height stays constant at log n, yielding O(log n) operations.
=Red-Black Tree Invariants=
=Red-Black Tree Invariants=
# Each node carries "color" information ("red" or "black")
# Each node is either red or black.
#
# The root is always black.
# There are never 2 red nodes in a row (a red node has only black children)
# Every path taken from root to a NULL pointer has the same number of black nodes.

Revision as of 04:57, 13 October 2021

External

Internal

Overview

Red-black trees had been invented by Bayer (1972) and Guibas, Sedgewick (1978). They are a type of binary search tree that self-balances on insertion and deletion, thus maintaining its height to a minimum, which leads to efficient operations. Almost all binary search tree operations have a running time bounded by the tree height, and in this case the tree height stays constant at log n, yielding O(log n) operations.

Red-Black Tree Invariants

  1. Each node is either red or black.
  2. The root is always black.
  3. There are never 2 red nodes in a row (a red node has only black children)
  4. Every path taken from root to a NULL pointer has the same number of black nodes.