# lec15-16 - CS C341 I S C361 Data Structures Algorithms...

This preview shows pages 1–9. Sign up to view the full content.

Click to edit Master subtitle style 2/7/11 Sundar B. CS C341 / I S C361 Data Structures & Algorithms Dictionary Data Structures – Search Trees Binary Search Trees – Order Queries Balancing a Search Tree - Height Balance Property - AVL Tree - Example - Rotations - Time Complexity - Number of rotations for insert - Number of rotations for delete 11

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
2/7/11 Sundar B. Binary Search Trees (BSTs) BSTs store data in order: i.e. if you traverse a BST such that for all nodes v, Visit all nodes in the left sub tree of v Visit v Visit all nodes in the right sub tree of v then you are visiting them in sorted order. This is referred to as in-order traversal 22
2/7/11 Sundar B. Binary Search Trees (BSTs) Revisiting delete (in an Ordered Dictionary): Deletion of an element with two non- empty subtrees required a pull-up operation. One way of pulling-up – find an element, say c, closest to the element to be deleted, say d How? overwrite d with c delete node (originally) containing c 33

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
2/7/11 Sundar B. Binary Search Trees (BSTs) Revisiting delete (in an Ordered Dictionary): Here is the pullUpLeft procedure pullUpLeft(OrdDict toDel, OrdDict cur) { pre = toDel; while (cur->right != NULL) { pre=cur; cur=cur->right; } toDel->rootVal = cur->rootVal; if (cur->left==NULL) { prev->right = NULL; } else { prev->right = cur->left; } 44
2/7/11 Sundar B. Binary Search Trees – Order Queries Exercises: Write a procedure to find the minimum element in a BST. Write a procedure to find the maximum element in a BST Write a procedure to find the second smallest element in a BST. Write a procedure to find the kth smallest element in a BST. Write a procedure to find the element closest to a given element in a BST. 55

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
2/7/11 Sundar B. Binary Search Tree - Complexity Time Complexity: Find, insert, delete # steps = Height of the tree Height of binary tree (by induction): Empty Tree ==> 0 Non-empty ==> 1 + max(height(left), height(right)) Balanced Tree – Best case Height = log(N) where N is the number of nodes Unbalanced Tree – Worst case 66
2/7/11 Sundar B. Height-balance property A node v in a binary tree is said to be height- balanced if the difference between the heights of the children of v – its sub-trees – is at most 1. Height Balance Property: A binary tree is said to be height-balanced if each of its nodes is height-balanced. Adel’son-Vel’skii and Landis tree (or AVL tree) Any height-balanced binary tree is referred to as an AVL tree. The height-balance property keeps the heigh 77

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
2/7/11 Sundar B. AVL Tree - Height Theorem: The minimum number of nodes n(h) of an AVL tree of height h is Ω(ch ) for some constant c>1.
This is the end of the preview. Sign up to access the rest of the document.

{[ snackBarMessage ]}

### Page1 / 31

lec15-16 - CS C341 I S C361 Data Structures Algorithms...

This preview shows document pages 1 - 9. Sign up to view the full document.

View Full Document
Ask a homework question - tutors are online