More Trees - PowerPoint PPT Presentation

About This Presentation
Title:

More Trees

Description:

Lets look at some trees that offer efficient insert and delete algorithms. ... but not fully balancing the tree : AVL (Adelson Velskii and Landis) balancing ... – PowerPoint PPT presentation

Number of Views:66
Avg rating:3.0/5.0
Slides: 23
Provided by: kumarm8
Learn more at: https://cse.buffalo.edu
Category:
Tags: more | trees

less

Transcript and Presenter's Notes

Title: More Trees


1
More Trees
  • B.Ramamurthy

2
Types of Trees
trees
dynamic
static
game trees
search trees
priority queues and heaps
graphs
Huffman coding tree
3
Review
  • First, We discussed trees in general.
  • Then binary search trees and complete binary
    trees.
  • We took a detour and looked at Big-O notation and
    growth rate functions as means of expressing
    algorithmic complexity.
  • Lets look at some trees that offer efficient
    insert and delete algorithms. (Efficiency can be
    now compared using Big-O notation)

4
AVL Trees
  • Balanced binary search tree offer a O(log n)
    insert and delete.
  • But balancing itself costs O(n) in the average
    case.
  • In this case, even though delete will be O(log
    n), insert will be O(n).
  • Is there any way to have a O(log n) insert too?
  • Yes, by almost but not fully balancing the tree
    AVL (Adelson Velskii and Landis) balancing

5
Height of a Tree
  • Definition is same as level. Height of a tree is
    the length of the longest path from root to some
    leaf node.
  • Height of a empty tree is -1.
  • Height of a single node tree is 0.
  • Recursive definition
  • height(t) 0 if number of nodes 1
  • -1 if T is empty
  • 1 max(height(LT), height(RT))
    otherwise

6
AVL Property
  • If N is a node in a binary tree, node N has AVL
    property if the heights of the left sub-tree and
    right sub-tree are equal or if they differ by 1.
  • Lets look at some examples.

7
AVL Tree Example
8
Non-AVL Tree
9
Transforming into AVL Tree
  • Four different transformations are available
    called rotations
  • Rotations single right, single left, double
    right, double left
  • There is a close relationship between rotations
    and associative law of algebra.

10
Transformations
  • Single right
  • ((T1 T2) T3) (T1 (T2 T3)
  • Single left
  • (T1 (T2 T3)) ((T1 T2) T3)
  • Double right
  • ((T1 (T2 T3)) T4) ((T1T2) (T3T4))
  • Double left
  • (T1 ((T2T3) T4)) ((T1T2) (T3T4))

11
Examples for Transformations
12
Example AVL Tree for Airports
  • Consider inserting sequentially ORY, JFK, BRU,
    DUS, ZRX, MEX, ORD, NRT, ARN, GLA, GCM
  • Build a binary-search tree
  • Build a AVL tree.

13
Binary Search Tree for Airport Names
ORY
ZRH
JFK
MEX
BRU
ORD
DUS
ARN
NRT
GLA
GCM
14
AVL Balancing Four Rotations
X1
X3
Double right
X2
X2
X1
Single right
X3
X1
X1
X3
X2
Single left
Double left
X2
X1
X3
X1
X2
X3
15
An AVL Tree for Airport Names
After insertion of ORY, JFK and BRU
Single right
Not AVL balanced
AVL Balanced
16
An AVL Tree for Airport Names (contd.)
After insertion of DUS, ZRH, MEX and ORD
After insertion of NRT?
DUS
MEX
ZRH
ORD
Still AVL Balanced
17
An AVL Tree
Not AVL Balanaced
Now add ARN and GLA no need for rotations Then
add GCM
18
An AVL Tree
JFK
GCM
ARN
DUS
GLA
Double left
NOT AVL BALANCED
19
Search Operation
  • For successful search, average number of
    comparisons
  • sum of all (path length1) / number of nodes
  • For the binary search tree (of airports) it is
  • 39/11 3.55
  • For the AVL tree (of airports) it is
  • 33/11 3.0

20
Known Performance Results of AVL trees
  • AVL tree is a sub optimal solution.
  • How to evaluate its performance?
  • Bounds (upper bound and lower bound) for number
    of comparisons
  • C log(n1) 1
  • C
  • AVL trees are no more than 44 worse than optimal
    trees.

21
Exam 2 Review
  • Topics Chapter 6 and Chapter 8
  • 1. Stacks ADT (Design, implementation and
    application)
  • 2. Queue ADT (Design, implementation and
    application)
  • 3. Binary Search Tree
  • 4. Complete binary trees and Heaps
  • 5. AVL Trees

22
Questions
  • Four questions from
  • 1. Simulation using queues (Hwk3)
  • 2. Complete Binary tree contiguous representation
  • 3. Heap building
  • 4. AVL Balancing
  • 5. Constructing Stack or Queue like ADTs
  • 6. Binary Search tree construction
  • 7. Expression evaluation like examples using
    stack ADT
Write a Comment
User Comments (0)
About PowerShow.com