Lecture 9 : Balanced Search Trees - PowerPoint PPT Presentation

About This Presentation
Title:

Lecture 9 : Balanced Search Trees

Description:

If not balanced, the search time degrades to O(N) Idea : Keep BST as balanced as possible. AVL tree 'height-balanced' binary tree ... – PowerPoint PPT presentation

Number of Views:73
Avg rating:3.0/5.0
Slides: 17
Provided by: cau2
Category:

less

Transcript and Presenter's Notes

Title: Lecture 9 : Balanced Search Trees


1
Lecture 9 Balanced Search Trees
  • Bong-Soo Sohn
  • Assistant Professor
  • School of Computer Science and Engineering
  • Chung-Ang University

2
Balanced Binary Search Tree
  • In Binary Search Tree
  • Average and maximum search times will be
    minimized when BST is maintained as a complete
    tree at all times. O (lg N)
  • If not balanced, the search time degrades to O(N)

Idea Keep BST as balanced as possible
3
AVL tree
  • "height-balanced binary tree
  • the height of the left and right subtrees of
    every node differ by at most one

5
3
6
2
9
2
5
4
7
1
4
12
7
3
3
14
8
11
10
4
Non-AVL tree example
6
4
9
3
5
7
8
5
Balance factor
  • BF (height of right subtree - height of left
    subtree)
  • So, BF -1, 0 or 1 for an AVL tree.

0
-1
1
0
0
-1
0
-1
-2
0
1
0
0
6
AVL tree rebalancing
  • When the AVL property is lost we can rebalance
    the tree via one of four rotations
  • Single right rotation
  • Single left rotation
  • Double left rotation
  • Double right rotation

7
Single Left Rotation (SLR)
  • when A is unbalanced to the left
  • and B is left-heavy

A
B
SLR at A
B
T3
T1
A
T1
T2
T2
T3
8
Single Right Rotation (SRR)
  • when A is unbalanced to the right
  • and B is right-heavy

A
B
SRR at A
T1
B
A
T3
T2
T3
T1
T2
9
Double Left Rotation (DLR)
  • When C is unbalanced to left
  • And A is right heavy

SRR at C
SLR at A
10
Double Right Rotation (DRR)
  • When C is unbalanced to right
  • And A is left heavy

SRR at C
SRR at A
11
Insertion in AVL tree
  • An AVL tree may become out of balance in two
    basic situations
  • After inserting a node in the right subtree of
    the right child
  • After inserting a node in the left subtree of the
    right child

12
insertion
  • Insertion of a node in the right subtree of the
    right child
  • Involves SLR at node P

13
insertion
  • Insertion of a node in the left subtree of the
    right child
  • Involves DRR

14
insertion
  • In each case the tree is rebalanced locally
  • insertion requires one single or one double
    rotation
  • O(constant) for rebalancing
  • Cost of search for insert is still O(lg N)
  • Experiments have shown that 53 of insertions do
    not bring the tree out of balance

15
Deletion in AVL tree
  • Not covered here
  • Requires O(lg N) rotations in worst case

16
example
  • Given the following AVL tree, insert the node
    with value 9

6
3
12
7
13
4
10
Write a Comment
User Comments (0)
About PowerShow.com