SlideShare a Scribd company logo
AVL Trees
   AVL Trees




                1
AVL Tree

 AVL trees are                                     4
  balanced.                                    44
                             2                                                   3
 An AVL Tree is a               17                                            78
  binary search tree                       1                 2                            1
                                      32                         50                  88
  such that for every
                                                    1                      1
  internal node v of                                    48            62
  T, 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:
                                                                                     2
Height of an AVL Tree
 Proposition: The height of an AVL tree T storing
  n keys is O(log n).
 Justification: The easiest way to approach this
  problem is to find n(h): the minimum number of
  nodes in an AVL tree of height h.
 We see that n(1) = 1 and n(2) = 2
 For h ≥ 3, an AVL tree of height h contains the
  root node, one AVL subtree of height h-1 and the
  other AVL subtree of height h-1 or h-2.
 i.e. n(h) = 1 + n(h-1) + n(h-2)


                                                 3
Height of an AVL Tree (2)
 Knowing n(h-1) >= n(h-2), we get
   n(h) = n(h-1) + n(h-2) + 1 > 2n(h-2)
   n(h) > 2n(h-2)
        > 4n(h-4)
        > 8n(h-6)
        …
        > 2in(h-2i)
 When i = h/2-1 we get: n(h) > 2h/2-1n(2) = 2h/2
 Taking logarithms: h < 2log n(h)
 Thus the height of an AVL tree is O(log n)

                                                    4
A sharper bound
 We  will show how to obtain a sharper
  bound on the height of an AVL tree.
 We prove using induction that the minimum
  number of nodes in an AVL tree of height
  h, n(h) >= ch, where c is some number >1.
 Base case: h=1. Now n(h) >= c > 1.
 Suppose claim is true for all h < k
 We have to show that n(k) >= ck

                                          5
Sharper bound (2)
 n(k) = n(k-1)+n(k-2)+1
       >= ck-1 + ck-2 (by induction hypothesis)
 We will be able to show that n(k) >= ck if we can
  show that ck-1 + ck-2 >= ck.
 So c should be such that c2-c-1 <= 0.
 The quadratic equation c2-c-1=0 has
   roots        and         .
 Hence we can take c as            which is roughly
  1.63
 Hence AVL tree on n nodes has height atmost
  log1.63 n
                                                       6
Structure of an AVL tree
 Consider  an AVL tree on n nodes.
 Consider a leaf which is closest to the
  root.
 Suppose this leaf is at level k.
 We will show that the height of the tree is
  at most 2k-1.



                                                7
Structure of an AVL tree (2)
 Claim: Since closest leaf is at level k all nodes at
  levels 1..k-2 have 2 children.
 Proof is by contradiction
 Suppose node u at level k-2 has only 1 child, v.
 v is at level k-1 and so cannot be a leaf.
 Hence subtree rooted at v has height at least 2.
 Height-balanced property is violated at u
                                               k-2
                                           u
                                               k-1
                                    v

                                                         8
Structure of an AVL tree (3)
 By   previous claim, all levels 1 to k-1 are
  full.
 Hence tree has at least 2k-1 nodes.
 Since height of tree is at most 2k-1 it has
  at most 22k-1 nodes.
 Thus 2k-1 <= n <= 22k-1
 Substituting h for 2k-1 we get
         2(h-1)/2 <= n <= 2h

                                                 9
Summary of AVL tree structure
 In an AVL tree of height h, the leaf closest
  to the root is at level at least (h+1)/2.
 On the first (h-1)/2 levels the AVL tree is a
  complete binary tree.
 After (h-1)/2 levels the AVL tree may start
  “thinning out”.
 Number of nodes in the AVL tree is at least
  2(h-1)/2 and at most 2h

                                              10
Insertion
 A binary tree T is called height-balanced if for
  every node v, height of v’s children differ by atmost
  one.
 Inserting a node into an AVL tree changes the
  heights of some of the nodes in T.
 If insertion causes T to become unbalanced, we
  travel up the tree from the newly created node until
  we find the first node x such that its grandparent z
  is unbalanced node.
 Let y be the parent of node x.

                                                    11
Insertion (2)
                                              5
                                         44
                       2
                                                                                          z        4
To rebalance the           17                                                                 78
                                                                    y
subtree rooted at                    1                     3                                                 1
                                32                             50                                       88
z, we must perform a                          1
                                                                             2        x
rotation.                                             48
                                                                    1
                                                                                 62


                                                                        54


                                                  4
                                         44
                       2                                                     3        x
                           17                                                    62                z
                                                                    y
                                     1                     2                                            2
                                32                             50                                  78
                                                  1                          1                                     1
                                                      48                54                                   88



                                                                                                              12

More Related Content

What's hot

Lec5
Lec5Lec5
Graphs in the Database: Rdbms In The Social Networks Age
Graphs in the Database: Rdbms In The Social Networks AgeGraphs in the Database: Rdbms In The Social Networks Age
Graphs in the Database: Rdbms In The Social Networks Age
Lorenzo Alberton
 
Asymptotic Notation and Data Structures
Asymptotic Notation and Data StructuresAsymptotic Notation and Data Structures
Asymptotic Notation and Data Structures
Amrinder Arora
 
Topological Sorting
Topological SortingTopological Sorting
Topological Sorting
ShahDhruv21
 
Algorithms Lecture 5: Sorting Algorithms II
Algorithms Lecture 5: Sorting Algorithms IIAlgorithms Lecture 5: Sorting Algorithms II
Algorithms Lecture 5: Sorting Algorithms II
Mohamed Loey
 
Algorithms Lecture 7: Graph Algorithms
Algorithms Lecture 7: Graph AlgorithmsAlgorithms Lecture 7: Graph Algorithms
Algorithms Lecture 7: Graph Algorithms
Mohamed Loey
 
10.m way search tree
10.m way search tree10.m way search tree
10.m way search tree
Chandan Singh
 
how to calclute time complexity of algortihm
how to calclute time complexity of algortihmhow to calclute time complexity of algortihm
how to calclute time complexity of algortihmSajid Marwat
 
Lec1
Lec1Lec1
Greedy algorithms
Greedy algorithmsGreedy algorithms
Greedy algorithms
Rajendran
 
minimum spanning trees Algorithm
minimum spanning trees Algorithm minimum spanning trees Algorithm
minimum spanning trees Algorithm
sachin varun
 
Quick sort
Quick sortQuick sort
Quick sort
Dhruv Sabalpara
 
Trees, Binary Search Tree, AVL Tree in Data Structures
Trees, Binary Search Tree, AVL Tree in Data Structures Trees, Binary Search Tree, AVL Tree in Data Structures
Trees, Binary Search Tree, AVL Tree in Data Structures
Gurukul Kangri Vishwavidyalaya - Faculty of Engineering and Technology
 

What's hot (20)

Lec6
Lec6Lec6
Lec6
 
Lec3
Lec3Lec3
Lec3
 
Lec5
Lec5Lec5
Lec5
 
Lec5
Lec5Lec5
Lec5
 
Graphs in the Database: Rdbms In The Social Networks Age
Graphs in the Database: Rdbms In The Social Networks AgeGraphs in the Database: Rdbms In The Social Networks Age
Graphs in the Database: Rdbms In The Social Networks Age
 
Lec2
Lec2Lec2
Lec2
 
Heaps & priority queues
Heaps & priority queuesHeaps & priority queues
Heaps & priority queues
 
Asymptotic Notation and Data Structures
Asymptotic Notation and Data StructuresAsymptotic Notation and Data Structures
Asymptotic Notation and Data Structures
 
Topological Sorting
Topological SortingTopological Sorting
Topological Sorting
 
Algorithms Lecture 5: Sorting Algorithms II
Algorithms Lecture 5: Sorting Algorithms IIAlgorithms Lecture 5: Sorting Algorithms II
Algorithms Lecture 5: Sorting Algorithms II
 
Algorithms Lecture 7: Graph Algorithms
Algorithms Lecture 7: Graph AlgorithmsAlgorithms Lecture 7: Graph Algorithms
Algorithms Lecture 7: Graph Algorithms
 
10.m way search tree
10.m way search tree10.m way search tree
10.m way search tree
 
how to calclute time complexity of algortihm
how to calclute time complexity of algortihmhow to calclute time complexity of algortihm
how to calclute time complexity of algortihm
 
Lec1
Lec1Lec1
Lec1
 
Greedy algorithms
Greedy algorithmsGreedy algorithms
Greedy algorithms
 
minimum spanning trees Algorithm
minimum spanning trees Algorithm minimum spanning trees Algorithm
minimum spanning trees Algorithm
 
Quick sort
Quick sortQuick sort
Quick sort
 
Disjoint sets
Disjoint setsDisjoint sets
Disjoint sets
 
Trees, Binary Search Tree, AVL Tree in Data Structures
Trees, Binary Search Tree, AVL Tree in Data Structures Trees, Binary Search Tree, AVL Tree in Data Structures
Trees, Binary Search Tree, AVL Tree in Data Structures
 
graph theory
graph theory graph theory
graph theory
 

Viewers also liked

Natureza&decoracao
Natureza&decoracaoNatureza&decoracao
Natureza&decoracaofilipj2000
 
Web 2.0
Web 2.0Web 2.0
Web 2.0
Evalainis
 
презентацияверже
презентациявержепрезентацияверже
презентациявержеbelyavsky
 
ChapmanCreative Porfolio
ChapmanCreative PorfolioChapmanCreative Porfolio
ChapmanCreative Porfolio
Chapman Creative
 
4강 기업교육론 20110323(공유)
4강 기업교육론 20110323(공유)4강 기업교육론 20110323(공유)
4강 기업교육론 20110323(공유)
조현경
 
My it professional life and disability
My it professional life and disabilityMy it professional life and disability
My it professional life and disability
Pat Maher
 
Machinima
Machinima Machinima
Machinima
laurenstrehlow
 
Verkiezing schaduwburgemeester dorpscafé malden ruud van gisteren d.d. 3 3-20...
Verkiezing schaduwburgemeester dorpscafé malden ruud van gisteren d.d. 3 3-20...Verkiezing schaduwburgemeester dorpscafé malden ruud van gisteren d.d. 3 3-20...
Verkiezing schaduwburgemeester dorpscafé malden ruud van gisteren d.d. 3 3-20...
Rijksdienst voor Ondernemend Nederland
 
El Plagio
El PlagioEl Plagio
El Plagio
Fidel Angulo
 
Aiguilledu midiengelseversie
Aiguilledu midiengelseversieAiguilledu midiengelseversie
Aiguilledu midiengelseversiefilipj2000
 
Pps delz@-forbidden city-reissue 2011
Pps delz@-forbidden city-reissue 2011Pps delz@-forbidden city-reissue 2011
Pps delz@-forbidden city-reissue 2011filipj2000
 
Graduacion 8vo (clase 2010)
Graduacion 8vo (clase 2010)Graduacion 8vo (clase 2010)
Graduacion 8vo (clase 2010)
Colegio Zaenid
 
Corporate Presentation
Corporate PresentationCorporate Presentation
Corporate Presentationdasherrod
 
Frisbee Thrower Concepts (Part 1)
Frisbee Thrower Concepts (Part 1)Frisbee Thrower Concepts (Part 1)
Frisbee Thrower Concepts (Part 1)
Samuel Chow
 
nanoKnowledge Pioneering Learning & Leadership Program
nanoKnowledge Pioneering Learning & Leadership ProgramnanoKnowledge Pioneering Learning & Leadership Program
nanoKnowledge Pioneering Learning & Leadership Program
nanoKnowledge
 

Viewers also liked (20)

Natureza&decoracao
Natureza&decoracaoNatureza&decoracao
Natureza&decoracao
 
Web 2.0
Web 2.0Web 2.0
Web 2.0
 
презентацияверже
презентациявержепрезентацияверже
презентацияверже
 
ChapmanCreative Porfolio
ChapmanCreative PorfolioChapmanCreative Porfolio
ChapmanCreative Porfolio
 
4강 기업교육론 20110323(공유)
4강 기업교육론 20110323(공유)4강 기업교육론 20110323(공유)
4강 기업교육론 20110323(공유)
 
From the air
From the airFrom the air
From the air
 
Spectra-projects-Oct-2016
Spectra-projects-Oct-2016Spectra-projects-Oct-2016
Spectra-projects-Oct-2016
 
Allatmamak
AllatmamakAllatmamak
Allatmamak
 
My it professional life and disability
My it professional life and disabilityMy it professional life and disability
My it professional life and disability
 
Perros que más ladran
Perros que más ladranPerros que más ladran
Perros que más ladran
 
Machinima
Machinima Machinima
Machinima
 
Verkiezing schaduwburgemeester dorpscafé malden ruud van gisteren d.d. 3 3-20...
Verkiezing schaduwburgemeester dorpscafé malden ruud van gisteren d.d. 3 3-20...Verkiezing schaduwburgemeester dorpscafé malden ruud van gisteren d.d. 3 3-20...
Verkiezing schaduwburgemeester dorpscafé malden ruud van gisteren d.d. 3 3-20...
 
El Plagio
El PlagioEl Plagio
El Plagio
 
Aiguilledu midiengelseversie
Aiguilledu midiengelseversieAiguilledu midiengelseversie
Aiguilledu midiengelseversie
 
Pps delz@-forbidden city-reissue 2011
Pps delz@-forbidden city-reissue 2011Pps delz@-forbidden city-reissue 2011
Pps delz@-forbidden city-reissue 2011
 
Graduacion 8vo (clase 2010)
Graduacion 8vo (clase 2010)Graduacion 8vo (clase 2010)
Graduacion 8vo (clase 2010)
 
Corporate Presentation
Corporate PresentationCorporate Presentation
Corporate Presentation
 
Piano
PianoPiano
Piano
 
Frisbee Thrower Concepts (Part 1)
Frisbee Thrower Concepts (Part 1)Frisbee Thrower Concepts (Part 1)
Frisbee Thrower Concepts (Part 1)
 
nanoKnowledge Pioneering Learning & Leadership Program
nanoKnowledge Pioneering Learning & Leadership ProgramnanoKnowledge Pioneering Learning & Leadership Program
nanoKnowledge Pioneering Learning & Leadership Program
 

More from Anjneya Varshney (6)

Lec23
Lec23Lec23
Lec23
 
Lec22
Lec22Lec22
Lec22
 
Lec21
Lec21Lec21
Lec21
 
Lec19
Lec19Lec19
Lec19
 
Lec16
Lec16Lec16
Lec16
 
Lec13
Lec13Lec13
Lec13
 

Lec11

  • 1. AVL Trees  AVL Trees 1
  • 2. AVL Tree  AVL trees are 4 balanced. 44 2 3  An AVL Tree is a 17 78 binary search tree 1 2 1 32 50 88 such that for every 1 1 internal node v of 48 62 T, 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: 2
  • 3. Height of an AVL Tree  Proposition: The height of an AVL tree T storing n keys is O(log n).  Justification: The easiest way to approach this problem is to find n(h): the minimum number of nodes in an AVL tree of height h.  We see that n(1) = 1 and n(2) = 2  For h ≥ 3, an AVL tree of height h contains the root node, one AVL subtree of height h-1 and the other AVL subtree of height h-1 or h-2.  i.e. n(h) = 1 + n(h-1) + n(h-2) 3
  • 4. Height of an AVL Tree (2)  Knowing n(h-1) >= n(h-2), we get n(h) = n(h-1) + n(h-2) + 1 > 2n(h-2) n(h) > 2n(h-2) > 4n(h-4) > 8n(h-6) … > 2in(h-2i)  When i = h/2-1 we get: n(h) > 2h/2-1n(2) = 2h/2  Taking logarithms: h < 2log n(h)  Thus the height of an AVL tree is O(log n) 4
  • 5. A sharper bound  We will show how to obtain a sharper bound on the height of an AVL tree.  We prove using induction that the minimum number of nodes in an AVL tree of height h, n(h) >= ch, where c is some number >1.  Base case: h=1. Now n(h) >= c > 1.  Suppose claim is true for all h < k  We have to show that n(k) >= ck 5
  • 6. Sharper bound (2)  n(k) = n(k-1)+n(k-2)+1 >= ck-1 + ck-2 (by induction hypothesis)  We will be able to show that n(k) >= ck if we can show that ck-1 + ck-2 >= ck.  So c should be such that c2-c-1 <= 0.  The quadratic equation c2-c-1=0 has roots and .  Hence we can take c as which is roughly 1.63  Hence AVL tree on n nodes has height atmost log1.63 n 6
  • 7. Structure of an AVL tree  Consider an AVL tree on n nodes.  Consider a leaf which is closest to the root.  Suppose this leaf is at level k.  We will show that the height of the tree is at most 2k-1. 7
  • 8. Structure of an AVL tree (2)  Claim: Since closest leaf is at level k all nodes at levels 1..k-2 have 2 children.  Proof is by contradiction  Suppose node u at level k-2 has only 1 child, v.  v is at level k-1 and so cannot be a leaf.  Hence subtree rooted at v has height at least 2.  Height-balanced property is violated at u k-2 u k-1 v 8
  • 9. Structure of an AVL tree (3)  By previous claim, all levels 1 to k-1 are full.  Hence tree has at least 2k-1 nodes.  Since height of tree is at most 2k-1 it has at most 22k-1 nodes.  Thus 2k-1 <= n <= 22k-1  Substituting h for 2k-1 we get 2(h-1)/2 <= n <= 2h 9
  • 10. Summary of AVL tree structure  In an AVL tree of height h, the leaf closest to the root is at level at least (h+1)/2.  On the first (h-1)/2 levels the AVL tree is a complete binary tree.  After (h-1)/2 levels the AVL tree may start “thinning out”.  Number of nodes in the AVL tree is at least 2(h-1)/2 and at most 2h 10
  • 11. Insertion  A binary tree T is called height-balanced if for every node v, height of v’s children differ by atmost one.  Inserting a node into an AVL tree changes the heights of some of the nodes in T.  If insertion causes T to become unbalanced, we travel up the tree from the newly created node until we find the first node x such that its grandparent z is unbalanced node.  Let y be the parent of node x. 11
  • 12. Insertion (2) 5 44 2 z 4 To rebalance the 17 78 y subtree rooted at 1 3 1 32 50 88 z, we must perform a 1 2 x rotation. 48 1 62 54 4 44 2 3 x 17 62 z y 1 2 2 32 50 78 1 1 1 48 54 88 12