2
Most read
13
Most read
19
Most read
AVL Trees
                                   6
                   v
                       3               8
                               z
                           4




       AVL Trees                           1
AVL Tree Definition
AVL trees are                                      4
balanced.                                     44
                            2
An AVL Tree is a
                                                                                   3
                                17                                            78
binary search tree                        1                 2                                   1
such that for every
                                     32                         50                         88
                                                   1
internal node v of T,                                  48            62
                                                                          1

the heights of the
children of v can differ
by at most 1.              An example of an AVL tree where the
                           heights are shown next to the nodes:

                       AVL Trees                                                       2
 
AVL Trees:
       AVL trees were invented in 1962 by two Russian
      scientist G.M Adelson Velsky & E.M Landis.
  
Definition:
       An AVL tree is a binary search tree in which the balance
factor of every node, which is defined as the difference b/w the
heights of the node’s left & right sub trees is either   0 or +1
or   -1 .
 Balance factor = ht of left sub tree – ht of right sub tree.
ht=height
Example :

            AVL tree                       BST ( not AVL tree )
                  1                                    2
                10                                    10


     0      5            1        20               05                020

 1   4      -1                0        1                -1
                 7                             4         7
                             12
     0                   0                 0                 0
 2                                                               8
                                           2
                     8
 



      If an insertion of a new node makes an AVL tree
unbalanced , we transform the tree by a rotation
 

         Rotation :
          A Rotation in an AVL tree is a local transformation of
its sub tree rooted at a node whose balance has become either
+2 or -2 ,if there are several such nodes, we rotate the tree
rooted at the unbalanced node that is the closest to the newly
inserted leaf.
 
Types of rotations :

       Totally there are four types of rotations

1.            Single right rotation or R-rotation

2.            Single left rotation or L-rotation

3.            Double right-left rotation or RL-rotation

4.            Double left-right rotation or LR-rotation
 
Points to remember to select different rotation technique :

1.Straight line with positive unbalanced.
              apply Right rotation for unbalanced node.
              +2
                5                            04

    +1    4                        0             0
                                            2        5

  0
      2
 

2.Straight line with negative unbalanced.
               apply left rotation for unbalanced node.

      -2
           5
                                                 06

                6 -1                     0            0
                                             5            7

                       70
 

3.Curved line with positive unbalanced.
             apply left-right rotation.

       Right rotation for unbalanced node and left rotation
for the nearest node.

                  +2
             5                                   0
                                                 4
        4   -1
                                           0 2        5   0
              2        0
 

4.Curved line with negative unbalanced.
                  apply right-left rotation.

       Left rotation for unbalanced node and right rotation
for the nearest node.

                  -2
              5                                      0
                                                      7
              +1       8
                                               0 5        8 0
      0   7
n(2)   3

                                                                      n(1)

Height of an AVL Tree
                                                                 4



 Fact: The height of an AVL tree storing n keys is O(log
 n).
 Proof: Let us bound n(h): the minimum number of internal
 nodes of an AVL tree of height h.
 We easily see that n(1) = 1 and n(2) = 2
 For n > 2, an AVL tree of height h contains the root node,
 one AVL subtree of height n-1 and another of height n-2.
 That is, n(h) = 1 + n(h-1) + n(h-2)
 Knowing n(h-1) > n(h-2), we get n(h) > 2n(h-2). So
 n(h) > 2n(h-2), n(h) > 4n(h-4), n(h) > 8n(n-6), … (by induction),
 n(h) > 2in(h-2i)
 Solving the base case we get: n(h) > 2 h/2-1
 Taking logarithms: h < 2log n(h) +2
 Thus the height of an AVL Trees is O(log n)
                         AVL tree                                    11
Insertion in an AVL Tree
 Insertion is as in a binary search tree
 Always done by expanding an external node.
 Example:       44                       44

                                                                                      c=z
        17                       78               17                            78
                                                                a=y

             32             50          88             32             50             88


                       48        62                              48             62
                                                                                     b=x


                                                                           54
                                                                 w


                  before insertion                          after insertion

                                      AVL Trees                                             12
Trinode Restructuring
           let (a,b,c) be an inorder listing of x, y, z
           perform the rotations needed to make b the topmost node of the
           three
                                   (other two cases
                                                                             a=z                  case 2: double rotation
            a=z                    are symmetrical)
                                                                                                  (a right rotation about c,
                                                                                       c=y        then a left rotation about a)
                  b=y
                                                                       T0
      T0
                        c=x                                                      b=x
                                                                                             T3
            T1                                       b=y                                                           b=x
                                                                            T1         T2
                   T2         T3
                                          a=z                   c=x                                     a=z                   c=y


case 1: single rotation
(a left rotation about a)            T0         T1         T2         T3                           T0         T1         T2         T3

                                                           AVL Trees                                                      13
Insertion Example, continued
                             5
                        44
      2
                                                                  z       64
          17                                                          78         7
                                      3
                                          2y                                         1
                    1
               32                1        50                4                   88
                             1
                                                        2        x
                                 48
                                               1
                                                   3        62
                                                                 5
                                                   54                           T3
unbalanced...                                                     T2
                                 T0
                                                                                4
                                          T1                               44                              4
                                                   2                                                   3        x
                                                       17
                                                                                            2 y            62
                                                                                                                     z6
                                                                      1                   2                               2
                                                                 32
                                                                                1
                                                                                     1     50     3             5
                                                                                                                     78        7
                                                                                                       1                            1
                    ...balanced                                                      48           54                           88

                                                                                                                    T2

                                                                                     T0           T1                           T3
                                                   AVL Trees                                                              14
Restructuring
(as Single Rotations)
 Single Rotations:


            a=z                              single rotation               b=y
                       b=y                                      a=z                   c=x
                                  c=x

       T0                                                                                   T3
                  T1                    T3                 T0         T1         T2
                             T2



                             c=z        single rotation               b=y
                  b=y                                      a=x                   c=z
       a=x

                                   T3                 T3
  T0                    T2                                       T2         T1         T0
             T1
                                             AVL Trees                                           15
Restructuring
(as Double Rotations)
 double rotations:


            a=z                               double rotation               b=x
                                  c=y                            a=z                   c=y
                       b=x

       T0                                                                         T2
                             T2          T3                 T0         T1                     T3
                  T1


                              c=z         double rotation              b=x
        a=y                                                 a=y                    c=z
                   b=x

                                    T0                            T2
  T3         T2                                        T3                    T1          T0
                        T1
                                               AVL Trees                                           16
Removal in an AVL Tree
  Removal begins as in a binary search tree, which
  means the node removed will become an empty
  external node. Its parent, w, may cause an imbalance.
  Example:      44                     44


         17                           62               17                  62


              32            50               78                  50             78


                       48        54               88        48        54             88




                   before deletion of 32                    after deletion

                                           AVL Trees                                      17
Rebalancing after a Removal
  Let z be the first unbalanced node encountered while travelling
  up the tree from w. Also, let y be the child of z with the larger
  height, and let x be the child of y with the larger height.
  We perform restructure(x) to restore balance at z.
  As this restructuring may upset the balance of another node
  higher in the tree, we must continue checking for balance until
  the root of T is reached


                                                                      62
      a=z     44

                                                               44              78
  w     17                   62         b=y

                                                          17         50             88
                   50             78          c=x


                                                                48        54
             48         54             88


                                              AVL Trees                                  18
Running Times for
AVL Trees
 a single restructure is O(1)
    using a linked-structure binary tree
 find is O(log n)
    height of tree is O(log n), no restructures needed
 insert is O(log n)
    initial find is O(log n)
    Restructuring up the tree, maintaining heights is O(log n)
 remove is O(log n)
    initial find is O(log n)
    Restructuring up the tree, maintaining heights is O(log n)




                             AVL Trees                            19

More Related Content

PPTX
AVL Tree in Data Structure
PPTX
Trees (data structure)
PPT
Data Structure and Algorithms Binary Search Tree
PPT
358 33 powerpoint-slides_11-efficient-binary-trees_chapter-11
PDF
Trees, Binary Search Tree, AVL Tree in Data Structures
PPTX
Binary Search Tree in Data Structure
PPTX
AVL Tree Data Structure
AVL Tree in Data Structure
Trees (data structure)
Data Structure and Algorithms Binary Search Tree
358 33 powerpoint-slides_11-efficient-binary-trees_chapter-11
Trees, Binary Search Tree, AVL Tree in Data Structures
Binary Search Tree in Data Structure
AVL Tree Data Structure

What's hot (20)

PPTX
Linked list
PPTX
Stack and Queue by M.Gomathi Lecturer
PPT
Binary search trees
PPT
B trees and_b__trees
PPTX
PPTX
Linked List
PPT
Data Structure and Algorithms AVL Trees
PPTX
Spanning trees & applications
PPT
15. Transactions in DBMS
PPTX
Searching and sorting
PPT
SEARCHING AND SORTING ALGORITHMS
PPTX
PPT
Binary search tree in data structures
PDF
List , tuples, dictionaries and regular expressions in python
PPTX
heap Sort Algorithm
PPT
Leftist heap
PDF
Double ended queue
Linked list
Stack and Queue by M.Gomathi Lecturer
Binary search trees
B trees and_b__trees
Linked List
Data Structure and Algorithms AVL Trees
Spanning trees & applications
15. Transactions in DBMS
Searching and sorting
SEARCHING AND SORTING ALGORITHMS
Binary search tree in data structures
List , tuples, dictionaries and regular expressions in python
heap Sort Algorithm
Leftist heap
Double ended queue
Ad

Viewers also liked (20)

PPTX
Avl trees
PPT
Avl trees
PPTX
AVL Tree
PPT
Avl tree
PPTX
Data Structures : AVL Trees
PPT
Binary Search Tree and AVL
PPTX
Binary Search Trees - AVL and Red Black
DOC
Advance data structure
PPTX
B tree short
PPTX
Digital Search Tree
PPTX
Application of tries
PPTX
BTree, Data Structures
PPT
B trees in Data Structure
PPT
Memory Mapping Cache
PPT
Stack Data Structure & It's Application
PPT
Sorting
DOC
Application Letter ( Block Style )
PPS
Cache memory
PPTX
9. Searching & Sorting - Data Structures using C++ by Varsha Patil
Avl trees
Avl trees
AVL Tree
Avl tree
Data Structures : AVL Trees
Binary Search Tree and AVL
Binary Search Trees - AVL and Red Black
Advance data structure
B tree short
Digital Search Tree
Application of tries
BTree, Data Structures
B trees in Data Structure
Memory Mapping Cache
Stack Data Structure & It's Application
Sorting
Application Letter ( Block Style )
Cache memory
9. Searching & Sorting - Data Structures using C++ by Varsha Patil
Ad

Similar to Avl trees (20)

PDF
Balanced
PDF
Sienna 6 bst
PPTX
Data Structures and Agorithm: DS 17 AVL Tree.pptx
PDF
computer notes - Avl tree
PPT
AVL Tree.ppt
PPT
AVL TREE PREPARED BY M V BRAHMANANDA REDDY
PDF
9 chapter4 trees_avl
PPTX
Lecture3
PPT
AVL Trees
PPT
Avltrees
PPTX
AVL Tree of Data Structure presentation.pptx
PPTX
AVL TREES for data structures import.pptx
PPT
FALLSEM2022-23_BCSE202L_TH_VL2022230103292_Reference_Material_II_19-10-2022_A...
PPT
avltrees.ppt unit 4 ppts for the university exam
PPT
avltreesUNIT4.ppt ggggggggggggggguuuuuuuuu
PPT
4.10.AVLTrees[1].ppt
PPTX
Avl trees
PPT
AVL-TREE.ppt
PPTX
Fourth Semester BE CSE BCS401 ADA Module 3 PPT.pptx
Balanced
Sienna 6 bst
Data Structures and Agorithm: DS 17 AVL Tree.pptx
computer notes - Avl tree
AVL Tree.ppt
AVL TREE PREPARED BY M V BRAHMANANDA REDDY
9 chapter4 trees_avl
Lecture3
AVL Trees
Avltrees
AVL Tree of Data Structure presentation.pptx
AVL TREES for data structures import.pptx
FALLSEM2022-23_BCSE202L_TH_VL2022230103292_Reference_Material_II_19-10-2022_A...
avltrees.ppt unit 4 ppts for the university exam
avltreesUNIT4.ppt ggggggggggggggguuuuuuuuu
4.10.AVLTrees[1].ppt
Avl trees
AVL-TREE.ppt
Fourth Semester BE CSE BCS401 ADA Module 3 PPT.pptx

Recently uploaded (20)

PDF
MBA _Common_ 2nd year Syllabus _2021-22_.pdf
PDF
Paper A Mock Exam 9_ Attempt review.pdf.
PDF
Empowerment Technology for Senior High School Guide
PDF
AI-driven educational solutions for real-life interventions in the Philippine...
PPTX
B.Sc. DS Unit 2 Software Engineering.pptx
PDF
medical_surgical_nursing_10th_edition_ignatavicius_TEST_BANK_pdf.pdf
PDF
ChatGPT for Dummies - Pam Baker Ccesa007.pdf
PDF
Hazard Identification & Risk Assessment .pdf
PDF
Trump Administration's workforce development strategy
PDF
Weekly quiz Compilation Jan -July 25.pdf
PDF
FOISHS ANNUAL IMPLEMENTATION PLAN 2025.pdf
PPTX
202450812 BayCHI UCSC-SV 20250812 v17.pptx
PDF
advance database management system book.pdf
PPTX
Share_Module_2_Power_conflict_and_negotiation.pptx
PDF
Chinmaya Tiranga quiz Grand Finale.pdf
PDF
LDMMIA Reiki Yoga Finals Review Spring Summer
PDF
Uderstanding digital marketing and marketing stratergie for engaging the digi...
PPTX
20th Century Theater, Methods, History.pptx
PDF
BP 704 T. NOVEL DRUG DELIVERY SYSTEMS (UNIT 1)
PPTX
ELIAS-SEZIURE AND EPilepsy semmioan session.pptx
MBA _Common_ 2nd year Syllabus _2021-22_.pdf
Paper A Mock Exam 9_ Attempt review.pdf.
Empowerment Technology for Senior High School Guide
AI-driven educational solutions for real-life interventions in the Philippine...
B.Sc. DS Unit 2 Software Engineering.pptx
medical_surgical_nursing_10th_edition_ignatavicius_TEST_BANK_pdf.pdf
ChatGPT for Dummies - Pam Baker Ccesa007.pdf
Hazard Identification & Risk Assessment .pdf
Trump Administration's workforce development strategy
Weekly quiz Compilation Jan -July 25.pdf
FOISHS ANNUAL IMPLEMENTATION PLAN 2025.pdf
202450812 BayCHI UCSC-SV 20250812 v17.pptx
advance database management system book.pdf
Share_Module_2_Power_conflict_and_negotiation.pptx
Chinmaya Tiranga quiz Grand Finale.pdf
LDMMIA Reiki Yoga Finals Review Spring Summer
Uderstanding digital marketing and marketing stratergie for engaging the digi...
20th Century Theater, Methods, History.pptx
BP 704 T. NOVEL DRUG DELIVERY SYSTEMS (UNIT 1)
ELIAS-SEZIURE AND EPilepsy semmioan session.pptx

Avl trees

  • 1. AVL Trees 6 v 3 8 z 4 AVL Trees 1
  • 2. AVL Tree Definition AVL trees are 4 balanced. 44 2 An AVL Tree is a 3 17 78 binary search tree 1 2 1 such that for every 32 50 88 1 internal node v of T, 48 62 1 the heights of the children of v can differ by at most 1. An example of an AVL tree where the heights are shown next to the nodes: AVL Trees 2
  • 3.   AVL Trees: AVL trees were invented in 1962 by two Russian scientist G.M Adelson Velsky & E.M Landis.    Definition: An AVL tree is a binary search tree in which the balance factor of every node, which is defined as the difference b/w the heights of the node’s left & right sub trees is either 0 or +1 or -1 . Balance factor = ht of left sub tree – ht of right sub tree. ht=height
  • 4. Example : AVL tree BST ( not AVL tree ) 1 2 10 10 0 5 1 20 05 020 1 4 -1 0 1 -1 7 4 7 12 0 0 0 0 2 8 2 8
  • 5.   If an insertion of a new node makes an AVL tree unbalanced , we transform the tree by a rotation   Rotation : A Rotation in an AVL tree is a local transformation of its sub tree rooted at a node whose balance has become either +2 or -2 ,if there are several such nodes, we rotate the tree rooted at the unbalanced node that is the closest to the newly inserted leaf.
  • 6.   Types of rotations : Totally there are four types of rotations 1. Single right rotation or R-rotation 2. Single left rotation or L-rotation 3. Double right-left rotation or RL-rotation 4. Double left-right rotation or LR-rotation
  • 7.   Points to remember to select different rotation technique : 1.Straight line with positive unbalanced. apply Right rotation for unbalanced node. +2 5 04 +1 4 0 0 2 5 0 2
  • 8.   2.Straight line with negative unbalanced. apply left rotation for unbalanced node. -2 5 06 6 -1 0 0 5 7 70
  • 9.   3.Curved line with positive unbalanced. apply left-right rotation. Right rotation for unbalanced node and left rotation for the nearest node. +2 5 0 4 4 -1 0 2 5 0 2 0
  • 10.   4.Curved line with negative unbalanced. apply right-left rotation. Left rotation for unbalanced node and right rotation for the nearest node. -2 5 0 7 +1 8 0 5 8 0 0 7
  • 11. n(2) 3 n(1) Height of an AVL Tree 4 Fact: The height of an AVL tree storing n keys is O(log n). Proof: Let us bound n(h): the minimum number of internal nodes of an AVL tree of height h. We easily see that n(1) = 1 and n(2) = 2 For n > 2, an AVL tree of height h contains the root node, one AVL subtree of height n-1 and another of height n-2. That is, n(h) = 1 + n(h-1) + n(h-2) Knowing n(h-1) > n(h-2), we get n(h) > 2n(h-2). So n(h) > 2n(h-2), n(h) > 4n(h-4), n(h) > 8n(n-6), … (by induction), n(h) > 2in(h-2i) Solving the base case we get: n(h) > 2 h/2-1 Taking logarithms: h < 2log n(h) +2 Thus the height of an AVL Trees is O(log n) AVL tree 11
  • 12. Insertion in an AVL Tree Insertion is as in a binary search tree Always done by expanding an external node. Example: 44 44 c=z 17 78 17 78 a=y 32 50 88 32 50 88 48 62 48 62 b=x 54 w before insertion after insertion AVL Trees 12
  • 13. Trinode Restructuring let (a,b,c) be an inorder listing of x, y, z perform the rotations needed to make b the topmost node of the three (other two cases a=z case 2: double rotation a=z are symmetrical) (a right rotation about c, c=y then a left rotation about a) b=y T0 T0 c=x b=x T3 T1 b=y b=x T1 T2 T2 T3 a=z c=x a=z c=y case 1: single rotation (a left rotation about a) T0 T1 T2 T3 T0 T1 T2 T3 AVL Trees 13
  • 14. Insertion Example, continued 5 44 2 z 64 17 78 7 3 2y 1 1 32 1 50 4 88 1 2 x 48 1 3 62 5 54 T3 unbalanced... T2 T0 4 T1 44 4 2 3 x 17 2 y 62 z6 1 2 2 32 1 1 50 3 5 78 7 1 1 ...balanced 48 54 88 T2 T0 T1 T3 AVL Trees 14
  • 15. Restructuring (as Single Rotations) Single Rotations: a=z single rotation b=y b=y a=z c=x c=x T0 T3 T1 T3 T0 T1 T2 T2 c=z single rotation b=y b=y a=x c=z a=x T3 T3 T0 T2 T2 T1 T0 T1 AVL Trees 15
  • 16. Restructuring (as Double Rotations) double rotations: a=z double rotation b=x c=y a=z c=y b=x T0 T2 T2 T3 T0 T1 T3 T1 c=z double rotation b=x a=y a=y c=z b=x T0 T2 T3 T2 T3 T1 T0 T1 AVL Trees 16
  • 17. Removal in an AVL Tree Removal begins as in a binary search tree, which means the node removed will become an empty external node. Its parent, w, may cause an imbalance. Example: 44 44 17 62 17 62 32 50 78 50 78 48 54 88 48 54 88 before deletion of 32 after deletion AVL Trees 17
  • 18. Rebalancing after a Removal Let z be the first unbalanced node encountered while travelling up the tree from w. Also, let y be the child of z with the larger height, and let x be the child of y with the larger height. We perform restructure(x) to restore balance at z. As this restructuring may upset the balance of another node higher in the tree, we must continue checking for balance until the root of T is reached 62 a=z 44 44 78 w 17 62 b=y 17 50 88 50 78 c=x 48 54 48 54 88 AVL Trees 18
  • 19. Running Times for AVL Trees a single restructure is O(1)  using a linked-structure binary tree find is O(log n)  height of tree is O(log n), no restructures needed insert is O(log n)  initial find is O(log n)  Restructuring up the tree, maintaining heights is O(log n) remove is O(log n)  initial find is O(log n)  Restructuring up the tree, maintaining heights is O(log n) AVL Trees 19

Editor's Notes

  • #2: Red-Black Trees 11/06/12 23:50