# Binary Search Trees Definition Of Binary Search Tree

10 Pages · 2004 · 66 KB · English

Binary Search Trees. • Dictionary Operations: ƒ get(key) ƒ put(key, value) ƒ remove(key). • Additional operations: ƒ ascend() ƒ get(index) (indexed binary search tree) ƒ remove(index) (indexed binary search tree). Complexity Of Dictionary Operations get(), put() and remove(). Data Structu

Binary Search Trees • Dictionary Operations: ƒget(key) ƒ put(key, value) ƒ remove(key) •Additional operations: ƒascend() ƒ get(index) (indexed binary search tree) ƒremove(index) (indexed binary search tree) Complexity Of Dictionary Operations get(), put() and remove() Data Structure Worst Case Expected Hash Table O(n) O(1) Binary Search Tree O(n) O(log n) Balanced Binary Search TreeO(log n) O(log n) nis number of elements in dictionary Complexity Of Other Operations ascend(), get(index), remove(index) Data Structure ascend get and remove Hash Table O(D + n log n) O(D + n log n) Indexed BST O(n) O(n) Indexed Balanced BST O(n) O(log n) Dis number of buckets Definition Of Binary Search Tree • A binary tree •Each node has a (key, value) pair •For every node x, all keys in the left subtree of xare smaller than that in x •For every node x, all keys in the right subtree of xare greater than that in x Example Binary Search Tree 20 10 6 2 8 15 40 30 25 Only keys are shown The Operation ascend() 20 10 6 2 8 15 40 30 25 Do an inorder traversal O(n) time The Operation get() 20 10 6 2 8 15 40 30 25 Complexity is O(height) = O(n) , where n is number of nodes/elements The Operation put() 20 10 6 2 8 15 40 30 25 Put a pair whose key is 35 35 The Operation put() Put a pair whose key is 7 20 10 6 2 8 15 40 30 25 35 7 The Operation put() 20 10 6 2 8 15 40 30 25 Put a pair whose key is 18 35 7 18 The Operation put() 20 10 6 2 8 15 40 30 25 Complexity of put() is O(height) 35 7 18 The Operation remove() Three cases: Element is in a leaf Element is in a degree 1 node Element is in a degree 2 node Remove From A Leaf Remove a leaf element key = 7 20 10 6 2 8 15 40 30 25 35 7 18 Remove From A Leaf (contd) Remove a leaf element key = 35 20 10 6 2 8 15 40 30 25 35 7 18 Remove From A Degree 1 Node Remove from a degree 1 node key = 40 20 10 6 2 8 15 40 30 25 35 7 18 Remove From A Degree 1 Node (contd) Remove from a degree 1 node key = 15 20 10 6 2 8 15 40 30 25 35 7 18 Remove From A Degree 2 Node Remove from a degree 2 node key = 10 20 10 6 2 8 15 40 30 25 35 7 18 Remove From A Degree 2 Node 20 10 6 2 8 15 40 30 25 Replace with largest key in left subtree (or smallest in right subtree) 35 7 18 Remove From A Degree 2 Node 20 10 6 2 8 15 40 30 25 Replace with largest key in left subtree (or smallest in right subtree) 35 7 18 Remove From A Degree 2 Node 20 8 6 2 8 15 40 30 25 Replace with largest key in left subtree (or smallest in right subtree) 35 7 18 Remove From A Degree 2 Node 20 8 6 2 8 15 40 30 25 Largest key must be in a leaf or degree 1 node 35 7 18 Another Remove From A Degree 2 Node Remove from a degree 2 node key = 20 20 10 6 2 8 15 40 30 25 35 7 18 Remove From A Degree 2 Node 20 10 6 2 8 15 40 30 25 Replace with largest in left subtree 35 7 18 Remove From A Degree 2 Node 20 10 6 2 8 15 40 30 25 Replace with largest in left subtree 35 7 18 Remove From A Degree 2 Node 18 10 6 2 8 15 40 30 25 Replace with largest in left subtree 35 7 18 Remove From A Degree 2 Node 18 10 6 2 8 15 40 30 25 Complexity is O(height) 35 7 Indexed Binary Search Tree • Binary search tree •Each node has an additional field ƒ leftSize = number of nodes in its left subtree Example Indexed Binary Search Tree 20 10 6 2 8 15 40 30 25 35 7 18 0 0 1 1 4 0 0 7 0 0 1 3 leftSize values are in red leftSize And Rank Rank of an element is its position in inorder (inorder = ascending key order) [2,6,7,8,10,15,18,20,25,30,35,40] rank(2) = 0 rank(15) = 5 rank(20) = 7 leftSize(x) = rank(x) with respect to elements in subtree rooted at x leftSize And Rank 20 10 6 2 8 15 40 30 25 35 7 18 0 0 1 1 4 0 0 7 0 0 1 3 sorted list = [2,6,7,8,10,15,18,20,25,30,35,40] get(index) And remove(index) 720 10 6 2 8 15 40 30 25 35 7 18 0 0 1 1 4 0 0 0 0 1 3 sorted list = [2,6,7,8,10,15,18,20,25,30,35,40] get(index) And remove(index) • if index = xleftSize desired element is xelement •if index < xleftSize desired element is index ’th element in left subtree of x •if index > xleftSize desired element is (index xleftSize1) ’th element in right subtree of x Applications (Complexities Are For Balanced Trees) Bestfit bin packing in O(n log n) time Representing a linear list so that get(index) , add(index, element) , and remove(index) run in O(log(list size)) time (uses an indexed binary tree, not indexed binary search tree) Can’t use hash tables for either of these applications Linear List As Indexed Binary Tree h e b a d f l j i k c g 0 0 1 1 4 0 0 7 0 0 1 3 list = [a,b,c,d,e,f,g,h,i,j,k,l] add(5,’m’) h e b a d f l j i k c g 0 0 1 1 4 0 0 7 0 0 1 3 list = [a,b,c,d,e,f,g,h,i,j,k,l] add(5,’m’) h e b a d f l j i k c g 0 0 1 1 4 0 0 7 0 0 1 3 list = [a,b,c,d,e, m, f,g,h,i,j,k,l] find node with element 4 (e) add(5,’m’) h e b a d f l j i k c g 0 0 1 1 4 0 0 7 0 0 1 3 list = [a,b,c,d,e, m, f,g,h,i,j,k,l] find node with element 4 (e)

### Archbishop Iakovos Former Archbishop of the Greek Orthodox

16 Pages · 2005 · 1005 KB · English

Greek Orthodox Christians in the Western Hemisphere from 1959 to 1996, died on April 10, 2005 at Stamford Hospital, Metropolis of Chicago Listserver

### JOIN US IN CELEBRATING THE 25TH ANNIVERSARY OF COLLINS CAVIAR AND

1 Pages · 2007 · 572 KB · English

Sunday, December 9th 5:30 p.m. - Champagne and caviar bar 6:00 p.m. - Four course dinner featuring Collins Caviar and cuisine from the Signature Room at the 95th

### Journal of Biochemistry and Molecular Biology, Vol. 34, No. 3, May

9 Pages · 2001 · 1.87 MB · English

Journal of Biochemistry and Molecular Biology, Vol. 34, No. 3, May 2001, pp. 250-258 © BSRK & Springer-Verlag 2001 Ethanol Eluted Extract of Rhus verniciflua Stokes

### BlueCross BlueShield of Kansas National/Select Formulary

30 Pages · 2014 · 538 KB ·

utilization management (UM) programs to help ensure the appropriate use and application of a ANDROID . prednisolone sodium phosphate, NF = ORTHO TRI-CYCLEN LO .. dexamethasone sodium phosphate soln.

### Polyspectral Signal Analysis Techniques For Condition Based Maintenance of Helicopter Drive ...

118 Pages · 2014 · 2.15 MB · English

of polyspectral signal processing techniques for condition based maintenance of crit- ical components in the AH-64D helicopter tail rotor drive train system. Currently available vibration-monitoring tools are mostly built based on auto- and cross-power spectral analysis which have limited performan

### 10 Chapter 10 Procedures for the Review of Telecommunication

20 Pages · 2009 · 336 KB ·

IRAC in the management of radio spectrum resources for the satisfaction of federal of Science and Technology Policy or his designee shall advise and assist the and its associated earth stations for provision of meteorological information; . request spectrum support in accordance with Chapter 10.

### ASTRONOMY AND ASTROPHYSICS Extended cellular automaton models of solar flare occurrence

11 Pages · 1999 · 204 KB · English

ASTRONOMY. AND. ASTROPHYSICS. Extended cellular automaton models of solar flare occurrence. K.P. Macpherson. 1 and A.L. MacKinnon. 2. 1. Department of Physics (Theoretical Physics), Oxford University, 1 Keble Road, Oxford OX1 3NP, UK ([email protected]). 2. Department of Adult and

### Report of the final meeting of the Regional TDA Working Group

17 Pages · 2007 · 137 KB ·

Selorm D. Ababio. Lecturer Anthony Yaw Karikari. CSIR – Water C/o Dept. of Chemistry. University of Lagos, Ms. Sylvia Osei Nsenkyire. Intern.

### Historic Timber-built Seacoast Piers of Eastern England

374 Pages · 2015 · 16.94 MB · English

erosion is an increasing loss of vulnerable seacoast archaeological remains, particularly along the unpredicted, and unfavourable, outcomes, such as increased rates of sedimentation and erosion. Sediment transport along the coastline is again southwards and it is primarily this factor that has

### The Changing Face of Dental Education

16 Pages · 2001 · 561 KB · English

Abstract: The past decade has seen increasing demands for reform of dental education that would produce a graduate better equipped to work in the .. cal periodontology and an understanding of the fun- damental processes of .. likely to engender both skepticism and hostility among some faculty.