CS214 DS2022 Lec 11 Trees Part4 Balancing AVL Delete
CS214 DS2022 Lec 11 Trees Part4 Balancing AVL Delete
Slides by
Mohamed El-Ramly, PhD
Basheer Youssef, PhD
Instructor
Cherry Ahmed
Agenda
1. Introduction to Binary Trees
2. Implementing Binary Trees
3. Searching Binary Search Trees
4. Tree Traversal …1. Breadth-First ….2. Depth-First
5. Insertion
6. Deletion by Copying
7. Balanced Trees
8. Heaps / Heap Sort
2
Exercises
• What is the minimum number of nodes in an AVL tree of
height 15?
3
Deletion
4
Deletion
5
Single rotations in deletion
In both figures, a node is deleted in subtree C, causing the height to drop
to h. The height of y is h+2. When the height of subtree A is h+1, the
height of B can be h or h+1. Fortunately, the same single rotation can
correct both cases.
6
rotate with left child
Single rotations in deletion
In both figures, a node is deleted in subtree A, causing the height to drop
to h. The height of y is h+2. When the height of subtree C is h+1, the
height of B can be h or h+1. A single rotation can correct both cases.
7
rotate with right child
Rotations in deletion
8
9
AVL Examples
Tree Tool – You must try it
https://www.cs.usfca.edu/~galles/visualizatio
n/AVLtree.html
10
AVL Tree Example:
• Insert 14, 17, 11, 7, 53, 4, 13 into an empty AVL tree
14
11 17
7 53
11
AVL Tree Example:
• Insert 14, 17, 11, 7, 53, 4, 13 into an empty AVL tree
14
7 17
4 11 53
13
12
AVL Tree Example:
• Now insert 12
14
7 17
4 11 53
13
12
13
AVL Tree Example:
• Now insert 12
14
7 17
4 11 53
12
13
14
AVL Tree Example:
• Now the AVL tree is balanced.
14
7 17
4 12 53
11 13
15
AVL Tree Example:
• Now insert 8
14
7 17
4 12 53
11 13
16
AVL Tree Example:
• Now insert 8
14
7 17
4 11 53
8 12
13
17
AVL Tree Example:
• Now the AVL tree is balanced.
14
11 17
7 12 53
4 8 13
18
AVL Tree Example:
• Now remove 53
14
11 17
7 12 53
4 8 13
19
AVL Tree Example:
• Now remove 53, unbalanced
14
11 17
7 12
4 8 13
20
AVL Tree Example:
• Balanced! Remove 11
11
7 14
4 8 12 17
13
21
AVL Tree Example:
• Remove 11, replace it with the largest in its left branch
7 14
4 12 17
13
22
AVL Tree Example:
• Remove 8, unbalanced
4 14
12 17
13
23
AVL Tree Example:
• Remove 8, unbalanced
4 12
14
13 17
24
AVL Tree Example:
• Balanced!!
12
7 14
4 13 17
25
In Class Exercises
26
15, 20, 24, 10, 13, 7, 30, 36, 25
20
15
15 24
20
10
24
13
20 20
13 24 15 24
10 15 13
10
27
15, 20, 24, 10, 13, 7, 30, 36, 25
20
13
13 24 10 20
10 15 7 15 24
7 30
13 36
10 20
7 15 30
24 36
28
15, 20, 24, 10, 13, 7, 30, 36, 25
13 13
10 20 10 20
7 15 30 7 15 24
24 36 30
25 13 25 36
10 24
7 20 30
15 25 36
29
Remove 24 and 20 from the AVL tree.
13 13
10 24 10 20
7 20 30 7 15 30
15 25 36 25 36
13 13
10 30 10 15
7 15 36 7 30
25 25 36 30