Your SlideShare is downloading. ×
0
Computernotes datastructures-22-111227202516-phpapp02
Computernotes datastructures-22-111227202516-phpapp02
Computernotes datastructures-22-111227202516-phpapp02
Computernotes datastructures-22-111227202516-phpapp02
Computernotes datastructures-22-111227202516-phpapp02
Computernotes datastructures-22-111227202516-phpapp02
Computernotes datastructures-22-111227202516-phpapp02
Computernotes datastructures-22-111227202516-phpapp02
Computernotes datastructures-22-111227202516-phpapp02
Computernotes datastructures-22-111227202516-phpapp02
Computernotes datastructures-22-111227202516-phpapp02
Computernotes datastructures-22-111227202516-phpapp02
Computernotes datastructures-22-111227202516-phpapp02
Computernotes datastructures-22-111227202516-phpapp02
Computernotes datastructures-22-111227202516-phpapp02
Computernotes datastructures-22-111227202516-phpapp02
Computernotes datastructures-22-111227202516-phpapp02
Computernotes datastructures-22-111227202516-phpapp02
Computernotes datastructures-22-111227202516-phpapp02
Computernotes datastructures-22-111227202516-phpapp02
Computernotes datastructures-22-111227202516-phpapp02
Computernotes datastructures-22-111227202516-phpapp02
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Computernotes datastructures-22-111227202516-phpapp02

136

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
136
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Class No.22 Data Structureshttp://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

×