Foundation of Computing Systems
This lecture explores the concept of Height Balanced Binary Trees (HBT) and their significance in optimizing search times in binary search trees (BST). It delves into the properties of HBT, including balance factors and the conditions that determine whether a binary search tree is balanced. Several rotation techniques, such as Left-to-Left and Right-to-Left rotations, are presented as methods for maintaining balance during node insertions. The lecture also emphasizes the theoretical foundations, illustrated with examples and practical implementations. Join us to enhance your understanding of tree structures in computing!
Foundation of Computing Systems
E N D
Presentation Transcript
Foundation of Computing Systems Lecture 8 Trees: Part V
Height Balanced Binary Trees • Average search time in a binary search tree • A binary search tree should be with a minimum value of average search time ti = Number of comparisons for the i-th element n = Total number of elements in the binary search tree IT 60101: Lecture #8
Some Sample Binary Search Trees G = 6.50 IT 60101: Lecture #8
Some Sample Binary Search Trees G = 4.00 G = 3.50 IT 60101: Lecture #8
Some Sample Binary Search Trees G = 3.08 G = 3.08 IT 60101: Lecture #8
Some Sample Binary Search Trees G = 3.16 IT 60101: Lecture #8
Height Balanced Binary Trees • How to find a binary search tree with a minimum value of average search time ? • Solution • Height balanced binary search tree • Also called AVL tree • Concept of balance factor of a node bf = Height of the left sub-tree (hL) – Height of the right sub-tree (hR) IT 60101: Lecture #8
Height Balanced Binary Trees • Definition A binary search tree is said to be height balanced binary search tree if all its nodes have a balance factor of 1, 0 or –1. That is, for all nodes |bf| = |hL – hR| ≤ 1 IT 60101: Lecture #8
Height Balanced Binary Trees: Example IT 60101: Lecture #8
Managing Unbalanced BST • Steps • Insert node into a binary search tree • Compute the balance factors • Decide the pivot node • Balance the unbalance tree IT 60101: Lecture #8
Unbalanced to Balanced BST • AVL Rotations • G.M. Adelson-Velskii and E.M. Lendis (1962) • Case 1: Left-to-Left rotation • pivotleft-sub treeleft child • Case 2: Right-to-Right rotation • pivotright-sub treeright child • Case 3: Left-to-Right rotation • pivotleft-sub treeright child • Case 4: Right-to-Left rotation • pivotright-sub treeleft child IT 60101: Lecture #8
Left-to-Left Rotation IT 60101: Lecture #8
Left-to-Left Rotation IT 60101: Lecture #8
Left-to-Left Rotation IT 60101: Lecture #8
Left-to-Left Rotation IT 60101: Lecture #8
Right-to-Right Rotation IT 60101: Lecture #8
Right-to-Right Rotation IT 60101: Lecture #8
Left-to-Right Rotation • Also called double rotation • Rotation 1 (Right-to-Left) • Left sub-tree (BL) of the right child (B) of the left child of the pivot node (P) becomes the right sub-tree of the left child (A). • Left child (A) of the pivot node (P) becomes the left child of B. • Rotation 2 (Left-to-Right) • Right sub-tree (BR) of the right child (B) of the left child (A) of the PIVOT node (P) becomes the left sub-tree of P. • P becomes the right child of B. IT 60101: Lecture #8
Left-to-Right Rotation IT 60101: Lecture #8
Left-to-Right Rotation IT 60101: Lecture #8
Left-to-Right Rotation IT 60101: Lecture #8
Right-to-Left Rotation • It is also another double rotation • Rotation 1(Left-to-Right) • Right sub-tree (BR) of the left child (B) of the right child (A) of the pivot node (P) becomes the left sub-tree of A. • Right child (A) of the pivot node (P) becomes the right child of B. • Rotation 2 (Right-to-Left) • Left sub-tree (BL) of the right child (B) of the right child (A) of the pivot rode (P) becomes the right sub-tree of P. • P becomes the left child of B. IT 60101: Lecture #8
Right-to-Left Rotation IT 60101: Lecture #8
Right-to-Left Rotation IT 60101: Lecture #8
Right-to-Left Rotation IT 60101: Lecture #8
Implementation • For tricky ways to manage the pointers see the book • Classic Data Structures • Chapter 7 • PHI, 2nd Edn., 17th Reprint IT 60101: Lecture #8
Property of a HBT • Maximum height possible in an AVL tree with n number of nodes is given by • For the proof of this property see the book • Classic Data Structures • Chapter 7 • PHI, 2nd Edn., 17th Reprint IT 60101: Lecture #8