Red-Black Tree Properties in DBMS
What is a Red-Black Tree?
A red-black tree is a kind of self-balancing binary search tree. The extra bit that each node keeps denoting "color"-either "red" or "black"-is needed to keep the tree balanced during insertions and deletions.
Each node's extra bit in a red-black tree, a type of self-balancing binary search tree, is frequently understood as the color (red or black). The balance of the tree is through insertions and deletions, thanks to the employment of these colors. Although the tree's balance is not ideal, it is sufficient to cut down on searching time and keep it at or below O(log n), where n is the total number of tree elements. Rudolf Bayer invented this tree in 1972.
Most BST operations, including search, max, min, insert, delete, and others, take O(h) time, where h is the BST's height. The cost of these procedures can go to O for a skewed Binary tree (n). If we ensure that the tree's height remains O(log n) after each insertion and deletion, we may give an upper bound of O(log n) for all these operations. The height of a Red-Black tree is always O(log n), where n is the number of nodes in the tree.
It should be noted that these kinds of trees have the same memory footprints as the traditional (uncolored) binary search tree because each node only needs one bit of space to store the color information.
Facts about the Red-Black Tree:
- The number of black nodes from the root node to a leaf node determines the red-black tree's black height. Leaf nodes are included in black nodes. Therefore, a red-black tree of height h has a black height that is more than or equal to h/2.
- The height of a red-black tree with n nodes is h= log2(n + 1).
- There are no green leaves (NIL). The number of black nodes from a node's root to that node, or the number of black ancestors, is referred to as the node's black depth.
- A binary tree is a specific instance of every red-black tree.
In a red-black tree, each node must abide by the same set of guidelines.
- The tree's root is always dark in color.
- There are no red nodes close by (A red node cannot have a red parent or red child).
- The number of black nodes is constant along any path from a node (including the root) to its descendant NULL nodes.
- There are just black leaf nodes.
Properties of Red-Black Tree
- Black should always be the color of the root node.
- Every node's null child in a red-black tree is black.
- A red node's offspring are black. The black node is probably the red node's parent.
- Every leaf is the same depth of black.
- Each direct link from the root node to the (downward) leaf node has the same number of black nodes.
- The color of each node is either red or black.
- The tree's root is black.
- The entire leaf is black.
- There cannot be two successive red nodes since the progeny of a red node are always black.
- An equal number of black nodes appear on each straightforward path from a node to descendent leaves.
- A Binary Search Tree needs a Red-Black Tree.
- The ROOT node's color must be BLACK, according to the property.
- Black coloration is required for the children of Red-colored nodes. (There shouldn't be two RED nodes in a row.)
- There should be an equal amount of black-colored nodes along each tree branch.
- Requires that each new node be placed with the color RED.
- Requires that each leaf (i.e., NULL node) be BLACK.
- It is understood that nil is black. Every non-NIL node has two children due to this factor.
- It is employed to implement Linux CPU Scheduling. Completely Fair Scheduler uses it.
- It is also incorporated into the machine learning K-mean clustering technique to cut down on time complexity.
- Every red node has black children, according to the "Black Children Rule."
- The Black Height Rule states that an integer by (v) must exist for a given node v for a specific downward path from v to nil to appropriately contain bh (v) black real (i.e., non-null) nodes. The black height of v is where this location is located. It is discovered that the black height of an RB tree equals the black height of its root.