SlideShare a Scribd company logo
1 of 22
Class No.22

     Data Structures

http://ecomputernotes.com


                       1
Deletion in AVL Tree

  There are 5 cases to consider.
  Let us go through the cases graphically and
   determine what action to take.
  We will not develop the C++ code for
   deleteNode in AVL tree. This will be left as
   an exercise.



          http://ecomputernotes.com
                                  2
Deletion in AVL Tree

 Case 1a: the parent of the deleted node had a balance of 0
 and the node was deleted in the parent’s left subtree.




              Delete on
              this side




 Action: change the balance of the parent node and stop. No
 further effect on balance of any higher node.

             http://ecomputernotes.com
                                     3
Deletion in AVL Tree

 Here is why; the height of left tree does not change.


                               0
               4


       2               6       1


  1        3       5       7   2




               http://ecomputernotes.com
                                       4
Deletion in AVL Tree

 Here is why; the height of left tree does not change.


                                0
               4                                   4


       2               6        1          2               6


  1        3       5       7    2              3       5       7



                               remove(1)


               http://ecomputernotes.com
                                       5
Deletion in AVL Tree

 Case 1b: the parent of the deleted node had a balance of 0
 and the node was deleted in the parent’s right subtree.




                      Delete on
                      this side




 Action: (same as 1a) change the balance of the parent node
 and stop. No further effect on balance of any higher node.

             http://ecomputernotes.com
                                     6
Deletion in AVL Tree

 Case 2a: the parent of the deleted node had a balance of 1
 and the node was deleted in the parent’s left subtree.




              Delete on
              this side




 Action: change the balance of the parent node. May have
 caused imbalance in higher nodes so continue up the tree.

             http://ecomputernotes.com
                                     7
Deletion in AVL Tree

 Case 2b: the parent of the deleted node had a balance of -1
 and the node was deleted in the parent’s right subtree.




                        Delete on
                        this side




 Action: same as 2a: change the balance of the parent node.
 May have caused imbalance in higher nodes so continue up
 the tree.
            http://ecomputernotes.com        8
Deletion in AVL Tree

 Case 3a: the parent had balance of -1 and the node was
 deleted in the parent’s left subtree, right subtree was balanced.




             http://ecomputernotes.com
                                     9
Deletion in AVL Tree

 Case 3a: the parent had balance of -1 and the node was
 deleted in the parent’s left subtree, right subtree was balanced.



        Single rotate




 Action: perform single rotation, adjust balance. No effect on
 balance of higher nodes so stop here.
                                                10
Deletion in AVL Tree

 Case 4a: parent had balance of -1 and the node was deleted in
 the parent’s left subtree, right subtree was unbalanced.




            http://ecomputernotes.com
                                    11
Deletion in AVL Tree
 Case 4a: parent had balance of -1 and the node was deleted in
 the parent’s left subtree, right subtree was unbalanced.


        double
        rotate




 Action: Double rotation at B. May have effected the balance of
 higher nodes, so continue up the tree.
                                               12
Deletion in AVL Tree

 Case 5a: parent had balance of -1 and the node was deleted in
 the parent’s left subtree, right subtree was unbalanced.




            http://ecomputernotes.com
                                    13
Deletion in AVL Tree

 Case 5a: parent had balance of -1 and the node was deleted in
 the parent’s left subtree, right subtree was unbalanced.




        single
        rotate




 Action: Single rotation at B. May have effected the balance of
 higher nodes, so continue up the tree.
                                               14
Other Uses of Binary Trees

         Expression Trees




     http://ecomputernotes.com
                             15
Expression Trees

  Expression trees, and the more general
   parse trees and abstract syntax trees are
   significant components of compilers.
  Let us consider the expression tree.




          http://ecomputernotes.com
                                  16
Expression Tree

 (a+b*c)+((d*e+f)*g)
                      +


      +                                   *

  a           *                   +           g


          b       c           *       f

                          d       e

          http://ecomputernotes.com
                                  17
Parse Tree in Compiler

 A := A + B * C                            <assign>


                                    <id>     :=       <expr>


                                    A
                                           <expr>      +            <term>

                                           <term>
                                                       <term>         *      <factor>
                                           <factor>
                                                      <factor>                 <id>
                                            <id>
 Expression grammar
                                                        <id>                    C
                                             A
 <assign>    <id> := <expr>                               B
 <id>        A | B | C
 <expr>      <expr> + <term> |
 <term>
 <term>      <term> * <factor> |
 <factor>
 <factor>    ( <expr> ) | <id>                                18
Parse Tree for an SQL query
 Consider querying a movie database
   Find the titles for movies with stars born in 1960

 The database has tables
   StarsIn(title, year, starName)
   MovieStar(name, address, gender, birthdate)

 SELECT title
 FROM StarsIn, MovieStar
 WHERE starName = name AND birthdate LIKE ‘%1960’ ;


            http://ecomputernotes.com
                                    19
SQL Parse Tree
                            < Query >

 SELECT <SelList> FROM       <FromList>     WHERE       <Condition>

       <Attribute>   <RelName> , <FromList>                 AND

          title         StarsIn   <RelName>
                                    MovieStar


                             <Condition>                     <Condition>

             <Attribute>     =    <Attribute>    <Attribute> LIKE <Pattern>

             starName             name          birthdate         ‘%1960’


              http://ecomputernotes.com
                                      20
Compiler Optimization

 Common subexpression:
   (f+d*e)+((d*e+f)*g)
                      +


      +                                   *

  f           *                   +           g


          d       e           *       f

                          d       e
          http://ecomputernotes.com
                                  21
Compiler Optimization

 (Common subexpression:
   (f+d*e)+((d*e+f)*g)
                      +


      +                                *

  f           *                            g


          d       e
                          Graph!
          http://ecomputernotes.com
                                  22

More Related Content

Similar to Computernotes datastructures-22-111227202516-phpapp02

computer notes - Data Structures - 22
computer notes - Data Structures - 22computer notes - Data Structures - 22
computer notes - Data Structures - 22ecomputernotes
 
computer notes - Data Structures - 19
computer notes - Data Structures - 19computer notes - Data Structures - 19
computer notes - Data Structures - 19ecomputernotes
 
Computer notes - The const Keyword
Computer notes - The const KeywordComputer notes - The const Keyword
Computer notes - The const Keywordecomputernotes
 
1.1 binary tree
1.1 binary tree1.1 binary tree
1.1 binary treeKrish_ver2
 
Sienna 6 bst
Sienna 6 bstSienna 6 bst
Sienna 6 bstchidabdu
 
Computer notes data structures - 9
Computer notes   data structures - 9Computer notes   data structures - 9
Computer notes data structures - 9ecomputernotes
 
Optimizing the Catalyst Optimizer for Complex Plans
Optimizing the Catalyst Optimizer for Complex PlansOptimizing the Catalyst Optimizer for Complex Plans
Optimizing the Catalyst Optimizer for Complex PlansDatabricks
 
Trees in Data Structure
Trees in Data StructureTrees in Data Structure
Trees in Data StructureOm Prakash
 
Lecture 6 operators
Lecture 6   operatorsLecture 6   operators
Lecture 6 operatorseShikshak
 
A Critical Look at Fixtures
A Critical Look at FixturesA Critical Look at Fixtures
A Critical Look at FixturesActsAsCon
 
Computer notes - Expression Tree
Computer notes - Expression TreeComputer notes - Expression Tree
Computer notes - Expression Treeecomputernotes
 
computer notes - Data Structures - 23
computer notes - Data Structures - 23computer notes - Data Structures - 23
computer notes - Data Structures - 23ecomputernotes
 

Similar to Computernotes datastructures-22-111227202516-phpapp02 (16)

computer notes - Data Structures - 22
computer notes - Data Structures - 22computer notes - Data Structures - 22
computer notes - Data Structures - 22
 
computer notes - Data Structures - 19
computer notes - Data Structures - 19computer notes - Data Structures - 19
computer notes - Data Structures - 19
 
Computer notes - The const Keyword
Computer notes - The const KeywordComputer notes - The const Keyword
Computer notes - The const Keyword
 
Binary Trees
Binary TreesBinary Trees
Binary Trees
 
1.1 binary tree
1.1 binary tree1.1 binary tree
1.1 binary tree
 
Trees unit 3
Trees unit 3Trees unit 3
Trees unit 3
 
Sienna 6 bst
Sienna 6 bstSienna 6 bst
Sienna 6 bst
 
Computer notes data structures - 9
Computer notes   data structures - 9Computer notes   data structures - 9
Computer notes data structures - 9
 
Data Binding in qooxdoo
Data Binding in qooxdooData Binding in qooxdoo
Data Binding in qooxdoo
 
Optimizing the Catalyst Optimizer for Complex Plans
Optimizing the Catalyst Optimizer for Complex PlansOptimizing the Catalyst Optimizer for Complex Plans
Optimizing the Catalyst Optimizer for Complex Plans
 
Trees in Data Structure
Trees in Data StructureTrees in Data Structure
Trees in Data Structure
 
Lecture 6 operators
Lecture 6   operatorsLecture 6   operators
Lecture 6 operators
 
Operator precedence
Operator precedenceOperator precedence
Operator precedence
 
A Critical Look at Fixtures
A Critical Look at FixturesA Critical Look at Fixtures
A Critical Look at Fixtures
 
Computer notes - Expression Tree
Computer notes - Expression TreeComputer notes - Expression Tree
Computer notes - Expression Tree
 
computer notes - Data Structures - 23
computer notes - Data Structures - 23computer notes - Data Structures - 23
computer notes - Data Structures - 23
 

Recently uploaded

Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhikauryashika82
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingTechSoup
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactdawncurless
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Celine George
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Sapana Sha
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Disha Kariya
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfAyushMahapatra5
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdfQucHHunhnh
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAssociation for Project Management
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfJayanti Pande
 

Recently uploaded (20)

Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdf
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 

Computernotes datastructures-22-111227202516-phpapp02

  • 1. Class No.22 Data Structures http://ecomputernotes.com 1
  • 2. Deletion in AVL Tree  There are 5 cases to consider.  Let us go through the cases graphically and determine what action to take.  We will not develop the C++ code for deleteNode in AVL tree. This will be left as an exercise. http://ecomputernotes.com 2
  • 3. Deletion in AVL Tree Case 1a: the parent of the deleted node had a balance of 0 and the node was deleted in the parent’s left subtree. Delete on this side Action: change the balance of the parent node and stop. No further effect on balance of any higher node. http://ecomputernotes.com 3
  • 4. Deletion in AVL Tree Here is why; the height of left tree does not change. 0 4 2 6 1 1 3 5 7 2 http://ecomputernotes.com 4
  • 5. Deletion in AVL Tree Here is why; the height of left tree does not change. 0 4 4 2 6 1 2 6 1 3 5 7 2 3 5 7 remove(1) http://ecomputernotes.com 5
  • 6. Deletion in AVL Tree Case 1b: the parent of the deleted node had a balance of 0 and the node was deleted in the parent’s right subtree. Delete on this side Action: (same as 1a) change the balance of the parent node and stop. No further effect on balance of any higher node. http://ecomputernotes.com 6
  • 7. Deletion in AVL Tree Case 2a: the parent of the deleted node had a balance of 1 and the node was deleted in the parent’s left subtree. Delete on this side Action: change the balance of the parent node. May have caused imbalance in higher nodes so continue up the tree. http://ecomputernotes.com 7
  • 8. Deletion in AVL Tree Case 2b: the parent of the deleted node had a balance of -1 and the node was deleted in the parent’s right subtree. Delete on this side Action: same as 2a: change the balance of the parent node. May have caused imbalance in higher nodes so continue up the tree. http://ecomputernotes.com 8
  • 9. Deletion in AVL Tree Case 3a: the parent had balance of -1 and the node was deleted in the parent’s left subtree, right subtree was balanced. http://ecomputernotes.com 9
  • 10. Deletion in AVL Tree Case 3a: the parent had balance of -1 and the node was deleted in the parent’s left subtree, right subtree was balanced. Single rotate Action: perform single rotation, adjust balance. No effect on balance of higher nodes so stop here. 10
  • 11. Deletion in AVL Tree Case 4a: parent had balance of -1 and the node was deleted in the parent’s left subtree, right subtree was unbalanced. http://ecomputernotes.com 11
  • 12. Deletion in AVL Tree Case 4a: parent had balance of -1 and the node was deleted in the parent’s left subtree, right subtree was unbalanced. double rotate Action: Double rotation at B. May have effected the balance of higher nodes, so continue up the tree. 12
  • 13. Deletion in AVL Tree Case 5a: parent had balance of -1 and the node was deleted in the parent’s left subtree, right subtree was unbalanced. http://ecomputernotes.com 13
  • 14. Deletion in AVL Tree Case 5a: parent had balance of -1 and the node was deleted in the parent’s left subtree, right subtree was unbalanced. single rotate Action: Single rotation at B. May have effected the balance of higher nodes, so continue up the tree. 14
  • 15. Other Uses of Binary Trees Expression Trees http://ecomputernotes.com 15
  • 16. Expression Trees  Expression trees, and the more general parse trees and abstract syntax trees are significant components of compilers.  Let us consider the expression tree. http://ecomputernotes.com 16
  • 17. Expression Tree (a+b*c)+((d*e+f)*g) + + * a * + g b c * f d e http://ecomputernotes.com 17
  • 18. Parse Tree in Compiler A := A + B * C <assign> <id> := <expr> A <expr> + <term> <term> <term> * <factor> <factor> <factor> <id> <id> Expression grammar <id> C A <assign>  <id> := <expr> B <id>  A | B | C <expr>  <expr> + <term> | <term> <term>  <term> * <factor> | <factor> <factor>  ( <expr> ) | <id> 18
  • 19. Parse Tree for an SQL query Consider querying a movie database Find the titles for movies with stars born in 1960 The database has tables StarsIn(title, year, starName) MovieStar(name, address, gender, birthdate) SELECT title FROM StarsIn, MovieStar WHERE starName = name AND birthdate LIKE ‘%1960’ ; http://ecomputernotes.com 19
  • 20. SQL Parse Tree < Query > SELECT <SelList> FROM <FromList> WHERE <Condition> <Attribute> <RelName> , <FromList> AND title StarsIn <RelName> MovieStar <Condition> <Condition> <Attribute> = <Attribute> <Attribute> LIKE <Pattern> starName name birthdate ‘%1960’ http://ecomputernotes.com 20
  • 21. Compiler Optimization Common subexpression: (f+d*e)+((d*e+f)*g) + + * f * + g d e * f d e http://ecomputernotes.com 21
  • 22. Compiler Optimization (Common subexpression: (f+d*e)+((d*e+f)*g) + + * f * g d e Graph! http://ecomputernotes.com 22