Download presentation
Presentation is loading. Please wait.
1
2-3-4 Trees Red-Black Trees
CIS265/506 2-3-4 Trees Red-Black Trees CIS265/506: Red-Black Trees
2
Some of the following material is from: Data Structures for Java William H. Ford William R. Topp ISBN Chapter 27 Balanced Search Trees Bret Ford © 2005, Prentice Hall CIS265/506: Red-Black Trees CIS265/506: Red-Black Trees
3
2-3-4 Trees 2-3-4 Trees are a slightly less efficient than red-black trees (next topic) but easier to code and understand. As in most of the self-balanced trees, they facilitate searching, insertions and deletions in the order of O(log N) operations regardless of how data values are entered. CIS265/506: Red-Black Trees CIS265/506: Red-Black Trees
4
2-3-4 Tree Concepts Each node has 2-4 outgoing links.
This means that there are 0-3 data items in a node. The number of links is referred to as the order of the tree Data items in the node are stored in sorted order. The links may have to move depending on insertions or deletions to the data in the node Links refer to children that are between the data items. End links just compare to the nearest data item (lesser or greater). There will always be one more link than the number of data items CIS265/506: Red-Black Trees
5
2-3-4 Tree Concepts Each node has 2-4 outgoing links.
This means that there are 0-3 data items in a node. The number of links is referred to as the order of the tree 2-Node: [ptr, A, ptr] 3-Node: [ptr, A, ptr, B, ptr] 4-node: [ptr, A, ptr, B, ptr, C, ptr] ptr1 A Ptr2 B ptr3 C ptr4 < A < B < C > C CIS265/506: Red-Black Trees
6
2-3-4 Tree Concepts Data items in the node are stored in sorted order.
The links may have to move depending on insertions or deletions to the data in the node A < B < C ptr1 A Ptr2 B ptr3 C ptr4 CIS265/506: Red-Black Trees
7
2-3-4 Tree Concepts Outgoing Links refer/point to children that are between the data items. End links just compare to the nearest data item (lesser or greater). There will always be one more link than the number of data items CIS265/506: Red-Black Trees
8
2-3-4 Tree Concepts A Split refer to the process where a full node is broken into two and a value is propagated up to its’ parent (or a new parent is made). The details of the Split process are as follows A new node is created that will be the sibling of the node to be split Move the last item into the new node Item A is left as is The rightmost two children are attached to the new node Item B is moved up one level CIS265/506: Red-Black Trees
9
2-3-4 Tree Concepts Searching
Finding data in a tree is just like searching in a binary tree so long as order is 2. (left brach < node & right branch > node). Otherwise, we need to search each of the data items in the node until we find one greater than the value we are looking at or reach the end. If the former occurs, take the previous link. Else, take the last link node < > left right CIS265/506: Red-Black Trees
10
2-3-4 Tree Concepts Inserting into a Tree can be fairly easy or hard, depending on the condition of the nodes on the way to this node If all the nodes on the path are not full, we just need to traverse the tree and insert the data at the leaf level If the nodes on the way are full, we split the node and continue if the leaf is full then we split that and move the middle value up CIS265/506: Red-Black Trees
11
2-3-4 Trees In a 2-3-4 tree, a 2‑node has two children and one value,
a 3-node has 3 children and 2 values, and a 4-node has 4 children and 3 values. CIS265/506: Red-Black Trees CIS265/506: Red-Black Trees
12
Searching a Tree To find a given value called item, start at the root and compare item with the values in the existing node. If no match occurs, move to the appropriate sub-tree. Repeat the process until you find a match or encounter an empty sub-tree. CIS265/506: Red-Black Trees CIS265/506: Red-Black Trees
13
Searching a 2-3-4 Tree CIS265/506: Red-Black Trees
14
Inserting into a 2-3-4 Tree
New data items are always inserted in leaves at the bottom of the tree. To insert a new item, move down the tree, splitting any 4-node encountered in the insertion path. Split a node by moving its middle element up one level and creating two new 2-nodes descendants (this includes splitting the root if it is a 4-node – see next figure). CIS265/506: Red-Black Trees CIS265/506: Red-Black Trees
15
Inserting into a 2-3-4 Tree (continued)
Splitting a 4-node. CIS265/506: Red-Black Trees CIS265/506: Red-Black Trees
16
Inserting into a 2-3-4 Tree (continued)
Insert into a tree the following data values: 2, 15, 12, 4, 8, 10, 25, 35, 55, 11 CIS265/506: Red-Black Trees CIS265/506: Red-Black Trees
17
Building a 2-3-4 Tree Insert: 2, 15, 12 Insert: 4 Insert: 8, 10
CIS265/506: Red-Black Trees CIS265/506: Red-Black Trees
18
Building a 2-3-4 Tree (continued)
Insert: 25, 35 Insert: 55 CIS265/506: Red-Black Trees CIS265/506: Red-Black Trees
19
Building a 2-3-4 Tree (continued)
Insert: 55 CIS265/506: Red-Black Trees CIS265/506: Red-Black Trees
20
Building a 2-3-4 Tree (concluded)
Insert: 11 CIS265/506: Red-Black Trees CIS265/506: Red-Black Trees
21
Efficiency of Trees In a tree with n elements, the maximum number of nodes visited during the search for an element is log2 (n) + 1. Inserting an element into a 2‑3‑4 tree with n elements requires splitting no more than log2n nodes and normally requires far fewer splits. CIS265/506: Red-Black Trees CIS265/506: Red-Black Trees
22
Red-Black Trees A red-black tree is a binary search tree in which each node has the color attribute BLACK or RED. It was designed as a representation of a tree, using different color combinations to describe the 3-nodes and 4-nodes. It is a type of tree that maintains balance via a set of four rules and associated operations to enforce those rules. “intelligent” work is done as nodes are inserted as well as when they are deleted CIS265/506: Red-Black Trees
23
The Four Rules Every node in the tree is colored red or black
The root is always colored black If a node is red its children are always black Every path to all leaves (filled or waiting to be filled) must go through the same number of black nodes CIS265/506: Red-Black Trees
24
Red-Black Trees CIS265/506: Red-Black Trees
25
Representing 2-3-4 Tree Nodes
A 2-node is always black. A 4-node has the middle value as a black parent and the other values as red children. CIS265/506: Red-Black Trees CIS265/506: Red-Black Trees
26
Representing 2-3-4 Tree Nodes (concluded)
Represent a 3-node with a BLACK parent and a smaller RED left child or with a BLACK parent and a larger RED right child. CIS265/506: Red-Black Trees CIS265/506: Red-Black Trees
27
Representing a 2-3-4 Tree as a Red-Black Tree
CIS265/506: Red-Black Trees CIS265/506: Red-Black Trees
28
Properties of a Red-Black Tree
These properties follow from the representation of a tree as a red-black tree. Root of red-black tree is always BLACK. A RED parent never has a RED child. Thus in a red‑black tree there are never two successive RED nodes. Every path from the root to an empty subtree contains the same number of BLACK nodes. The number, called the black height, defines balance in a red-black tree. CIS265/506: Red-Black Trees CIS265/506: Red-Black Trees
29
Inserting a Node in a Red-Black Tree (continued)
Enter a new element into the tree as a RED leaf node. Inserting a RED node at the bottom of a tree may result in two successive RED nodes. When this occurs, use a rotation and recoloring to reorder the tree. Maintain the root as a BLACK node. CIS265/506: Red-Black Trees CIS265/506: Red-Black Trees
30
Building a Red-Black Tree
CIS265/506: Red-Black Trees CIS265/506: Red-Black Trees
31
Building a Red-Black Tree (continued)
CIS265/506: Red-Black Trees CIS265/506: Red-Black Trees
32
Building a Red-Black Tree (concluded)
Insert 30 CIS265/506: Red-Black Trees CIS265/506: Red-Black Trees
33
Red-Black Tree Search Running Time
The worst‑case running time to search a red-black tree or insert an item is O(log2n). The maximum length of a path in a red-black tree with black height B is 2*B-1. CIS265/506: Red-Black Trees CIS265/506: Red-Black Trees
34
Note There is no code in your text for this structure.
CIS265/506: Red-Black Trees
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.