Upcoming SlideShare
×

AVL Tree

4,565 views

Published on

Analysis and design of algorithm

5 Likes
Statistics
Notes
• Full Name
Comment goes here.

Are you sure you want to Yes No
• Be the first to comment

Views
Total views
4,565
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
221
0
Likes
5
Embeds 0
No embeds

No notes for slide
• The AVL tree is named after its two Soviet inventors, G. M. Adelson-Velskii and E. M. Landis, who published it in their 1962 paper &quot;An algorithm for the organization of information.AVL trees are binary search trees that balances itself every time an element is inserted or deleted.
• Balanced Tree -Suggestion 1: the left and right subtrees of root have the same height -Suggestion 2: every node must have left and right subtrees of the same heightEach node of an AVL tree has the property that the heights of the sub-tree rooted at its children differ by at most one.We want a tree with small height.Height of a binary tree with N node is at least(log N) .Goal: keep the height of a binary search tree O(log N).Balanced binary search trees
• AVL tree approximates the ideal tree (completely balanced tree).AVL Tree maintains a height close to the minimum. Suppose h = 5 Then , left sub-tree height should be 4 right sub-tree height should be 3
• An update (insert or remove) in an AVL tree could destroy the balance. It must then be rebalanced before the operation can be considered complete.
• AVL Tree

1. 1. Presentation On : AVL TREESGroup Member:Chhatra Thapa (Sid:10935)Susat Maharjan (Sid:10954) 1
2. 2. AVL TREE IS…• named after Adelson-Velskii and Landis• the first dynamically balanced trees to be propose• Binary search tree with balance condition in which the sub-trees of each node can differ by at most 1 in their height 2
3. 3. DEFINITION OF A BALANCED TREE• Ensure the depth = O(log N)• Take O(log N) time for searching, insertion, and deletion• Every node must have left & right sub-trees of the same height• Goal: keep the height of a binary search tree O(log N). 3
4. 4. AN AVL TREE HAS THE FOLLOWING PROPERTIES:• Sub-trees of each node can differ by at most 1 in their height• Every sub-trees is an AVL tree 4
5. 5. AVL TREE? YES NO Each left sub-tree has Left sub-tree has height 3, height 1 greater than but right sub-tree has each right sub-tree height 1 5
6. 6. INSERTION AND DELETIONS• It is performed as in binary search trees• If the balance is destroyed, rotation(s) is performed to correct balance• For insertions, one rotation is sufficient• For deletions, O(log n) rotations at most are needed 6
7. 7. Single Rotation left sub-tree is one level move ① up a level and deeper than the right sub-tree ② down a level 7
8. 8. Single rotation : Rotate right 8
9. 9. Single rotation : Rotate left 9
10. 10. Double RotationLeft sub-tree is two level Move ② up two levels anddeeper than the right sub-tree ③ down a level 10
11. 11. Insertion Insert 6 Imbalance at 8 Perform rotation with 7 11
12. 12. 12
13. 13. Deletion Delete 4 Imbalance at 3 Perform rotation with 2Imbalance at 5Perform rotation with 8 13
14. 14. 14
15. 15. KEY POINTS• AVL tree remain balanced by applying rotations, therefore it guarantees O(log N) search time in a dynamic environment• Tree can be re-balanced in at most O(log N) time 15
16. 16. THANK YOU  16