1 / 13

AVL TREES

AVL TREES. By Asami Enomoto CS 146. AVL Tree is…. named after A delson- V elskii and L andis 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.

Download Presentation

AVL TREES

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. AVL TREES By Asami Enomoto CS 146

  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

  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

  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

  5. AVL tree? YES Each left sub-tree has height 1 greater than each right sub-tree NO Left sub-tree has height 3, but right sub-tree has height 1

  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

  7. Single Rotation move ① up a level and ② down a level left sub-tree is two level deeper than the right sub-tree

  8. Double Rotation Move ② up two levels and ③ down a level Left sub-tree is two level deeper than the right sub-tree

  9. Insertion Insert 6 Imbalance at 8 Perform rotation with 7

  10. Deletion Delete 4 Imbalance at 3 Perform rotation with 2 Imbalance at 5 Perform rotation with 8

  11. 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

More Related