Presentation is loading. Please wait.

Presentation is loading. Please wait.

More Trees B.Ramamurthy 4/6/2019 BR.

Similar presentations


Presentation on theme: "More Trees B.Ramamurthy 4/6/2019 BR."— Presentation transcript:

1 More Trees B.Ramamurthy 4/6/2019 BR

2 Types of Trees trees static dynamic game trees search trees
priority queues and heaps graphs binary search trees AVL trees 2-3 trees tries Huffman coding tree 4/6/2019 BR

3 Complete Binary Tree Is a tree with height h where:
Every node is full upto level h-2, Level h-1 is completely filled. Level h is filled from left to right. Yields to array representation. How to compute indices of parent and child? How many internal nodes and leafs? 4/6/2019 BR

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 4/6/2019 BR

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 4/6/2019 BR

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. 4/6/2019 BR

7 AVL Tree: Example 4/6/2019 BR

8 Non-AVL Tree 4/6/2019 BR

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. 4/6/2019 BR

10 Transformations Single right : ((T1 + T2) + T3) = (T1 + (T2 + T3)
Single left : (T1 + (T2 + T3)) = ((T1 + T2) + T3) Double right : ((T1 + (T2 + T3)) + T4) = ((T1+T2) + (T3+T4)) Double left : (T1 ((T2+T3) +T4)) = ((T1+T2) + (T3+T4)) 4/6/2019 BR

11 Examples for Transformations
4/6/2019 BR

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. 4/6/2019 BR

13 Binary Search Tree for Airport Names
ORY JFK ZRH MEX BRU ORD DUS ARN NRT GLA GCM 4/6/2019 BR

14 AVL Balancing : Four Rotations
X3 X2 X1 X1 X3 Double right X2 X3 X1 X2 Single right X2 X1 X3 X1 X2 X3 X1 X3 X2 Single left Double left X2 X1 X3 X1 X2 X3 4/6/2019 BR

15 An AVL Tree for Airport Names
After insertion of ORY, JFK and BRU : ORY JFK BRU Single right JFK BRU ORY Not AVL balanced AVL Balanced 4/6/2019 BR

16 An AVL Tree for Airport Names (contd.)
After insertion of DUS, ZRH, MEX and ORD After insertion of NRT? JFK BRU ORY DUS MEX ZRH ORD NRT JFK BRU ORY DUS MEX ZRH ORD Still AVL Balanced 4/6/2019 BR

17 An AVL Tree … Not AVL Balanaced Double Left Now add ARN and GLA; no
JFK BRU ORY DUS MEX ZRH ORD NRT JFK BRU ORY DUS NRT ZRH ORD MEX Double Left Now add ARN and GLA; no need for rotations; Then add GCM 4/6/2019 BR

18 An AVL Tree… Double left JFK BRU DUS ORY NRT ZRH ORD MEX ARN GLA GCM
NOT AVL BALANCED 4/6/2019 BR

19 Search Operation For successful search, average number of comparisons:
sum of all (path length+1) / 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 4/6/2019 BR

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(n+1) + 1 C < 1.44 log(n+2) AVL trees are no more than 44% worse than optimal trees. 4/6/2019 BR


Download ppt "More Trees B.Ramamurthy 4/6/2019 BR."

Similar presentations


Ads by Google