non linear data structures-trees · binary tree each internal node has at most two children ordered...
TRANSCRIPT
![Page 1: Non linear data structures-Trees · Binary Tree Each internal node has at most two children Ordered Binary Tree or Binary Search Tree Children of node are ordered pair known as left,](https://reader034.vdocuments.us/reader034/viewer/2022042221/5ec739fee52bd9124d4402fb/html5/thumbnails/1.jpg)
Non linear data structures-Trees
1 Copyright @ gdeepak.Com 6/6/2012 7:23 PM
![Page 2: Non linear data structures-Trees · Binary Tree Each internal node has at most two children Ordered Binary Tree or Binary Search Tree Children of node are ordered pair known as left,](https://reader034.vdocuments.us/reader034/viewer/2022042221/5ec739fee52bd9124d4402fb/html5/thumbnails/2.jpg)
Deliverables
Tree basics
Types of trees
Tree Traversals
Binary search tree
Copyright @ gdeepak.Com 2 6/6/2012 7:23 PM
![Page 3: Non linear data structures-Trees · Binary Tree Each internal node has at most two children Ordered Binary Tree or Binary Search Tree Children of node are ordered pair known as left,](https://reader034.vdocuments.us/reader034/viewer/2022042221/5ec739fee52bd9124d4402fb/html5/thumbnails/3.jpg)
Tree
Technically tree is an abstract model of a hierarchical structure
A tree consists of nodes with a parent-child relation
Applications: Organization charts,
File systems , Programming environments
Copyright @ gdeepak.Com 3 6/6/2012 7:23 PM
![Page 4: Non linear data structures-Trees · Binary Tree Each internal node has at most two children Ordered Binary Tree or Binary Search Tree Children of node are ordered pair known as left,](https://reader034.vdocuments.us/reader034/viewer/2022042221/5ec739fee52bd9124d4402fb/html5/thumbnails/4.jpg)
Tree terminology
• Root: node without parent (A)
• Internal node: node with at least one child
(A, B, C, F)
• External node (or leaf node ) or
Node without children (E, I, J, K, G, H, D)
• Ancestors of a node: parent, grandparent etc
• Depth of a node: number of ancestors
Copyright @ gdeepak.Com 4
A
B
E F
I J K
C
G H
D
6/6/2012 7:23 PM
![Page 5: Non linear data structures-Trees · Binary Tree Each internal node has at most two children Ordered Binary Tree or Binary Search Tree Children of node are ordered pair known as left,](https://reader034.vdocuments.us/reader034/viewer/2022042221/5ec739fee52bd9124d4402fb/html5/thumbnails/5.jpg)
Tree basics
Height of a tree: maximum depth of any node
Descendant of a node: child, grandchild etc.
Sub tree: tree consisting of a node and its descendants
Siblings: Children of the same parent
In degree: number of nodes arriving at that node
Out degree: number of nodes leaving that node
Copyright @ gdeepak.Com 5 6/6/2012 7:23 PM
![Page 6: Non linear data structures-Trees · Binary Tree Each internal node has at most two children Ordered Binary Tree or Binary Search Tree Children of node are ordered pair known as left,](https://reader034.vdocuments.us/reader034/viewer/2022042221/5ec739fee52bd9124d4402fb/html5/thumbnails/6.jpg)
Tree operations
size() isEmpty() root() parent(p) children(p)
isInternal(p) isExternal(p) isRoot(p) swapElements
(p, q)
replaceElement(p, o)
Minimum() Maximum() Successor(x) Predecessor(x) Search(x)
Copyright @ gdeepak.Com 6 6/6/2012 7:23 PM
![Page 7: Non linear data structures-Trees · Binary Tree Each internal node has at most two children Ordered Binary Tree or Binary Search Tree Children of node are ordered pair known as left,](https://reader034.vdocuments.us/reader034/viewer/2022042221/5ec739fee52bd9124d4402fb/html5/thumbnails/7.jpg)
Guess a number between 1 and n
• First Guess 60
Copyright @ gdeepak.Com 7
60
6/6/2012 7:23 PM
![Page 8: Non linear data structures-Trees · Binary Tree Each internal node has at most two children Ordered Binary Tree or Binary Search Tree Children of node are ordered pair known as left,](https://reader034.vdocuments.us/reader034/viewer/2022042221/5ec739fee52bd9124d4402fb/html5/thumbnails/8.jpg)
Guess a number between 1 and n
• Second Guess 100
Copyright @ gdeepak.Com 8
60
6/6/2012 7:23 PM
![Page 9: Non linear data structures-Trees · Binary Tree Each internal node has at most two children Ordered Binary Tree or Binary Search Tree Children of node are ordered pair known as left,](https://reader034.vdocuments.us/reader034/viewer/2022042221/5ec739fee52bd9124d4402fb/html5/thumbnails/9.jpg)
Guess a number between 1 and n
How to play so that guesses are minimized
Copyright @ gdeepak.Com 9 6/6/2012 7:23 PM
![Page 10: Non linear data structures-Trees · Binary Tree Each internal node has at most two children Ordered Binary Tree or Binary Search Tree Children of node are ordered pair known as left,](https://reader034.vdocuments.us/reader034/viewer/2022042221/5ec739fee52bd9124d4402fb/html5/thumbnails/10.jpg)
Binary Tree Each internal node has at most two children
Ordered Binary Tree or Binary Search Tree
Children of node are ordered pair known as left, right child
Left sub tree of node contains nodes with keys < node's key
Right sub tree of node has nodes with keys ≥ node's key
Both left and right subtrees must be binary search trees
Recursive definition: Either a tree of single node, or whose root has an ordered pair of children, each is binary tree
Copyright @ gdeepak.Com 10 6/6/2012 7:23 PM
![Page 11: Non linear data structures-Trees · Binary Tree Each internal node has at most two children Ordered Binary Tree or Binary Search Tree Children of node are ordered pair known as left,](https://reader034.vdocuments.us/reader034/viewer/2022042221/5ec739fee52bd9124d4402fb/html5/thumbnails/11.jpg)
Complete Binary tree
Complete Binary tree consists of each internal node having exactly two children.
Copyright @ gdeepak.Com 11 6/6/2012 7:23 PM
![Page 12: Non linear data structures-Trees · Binary Tree Each internal node has at most two children Ordered Binary Tree or Binary Search Tree Children of node are ordered pair known as left,](https://reader034.vdocuments.us/reader034/viewer/2022042221/5ec739fee52bd9124d4402fb/html5/thumbnails/12.jpg)
Full and Perfect Binary Tree
Full binary tree has each level of tree completely filled(except possibly the last) in which nodes will be as left as possible
Perfect binary tree will have each internal node having two children and all leaf nodes will be at the same level
Copyright @ gdeepak.Com 12 6/6/2012 7:23 PM
![Page 13: Non linear data structures-Trees · Binary Tree Each internal node has at most two children Ordered Binary Tree or Binary Search Tree Children of node are ordered pair known as left,](https://reader034.vdocuments.us/reader034/viewer/2022042221/5ec739fee52bd9124d4402fb/html5/thumbnails/13.jpg)
Full and Perfect Binary Tree
Copyright @ gdeepak.Com 13 6/6/2012 7:23 PM
![Page 14: Non linear data structures-Trees · Binary Tree Each internal node has at most two children Ordered Binary Tree or Binary Search Tree Children of node are ordered pair known as left,](https://reader034.vdocuments.us/reader034/viewer/2022042221/5ec739fee52bd9124d4402fb/html5/thumbnails/14.jpg)
Balanced and Degenerate Tree
Balanced binary tree is a binary tree in which the height of two subtrees of every node never differ by more than 1
Degenerate tree : Where each parent has only one child
Copyright @ gdeepak.Com 14 6/6/2012 7:23 PM
![Page 15: Non linear data structures-Trees · Binary Tree Each internal node has at most two children Ordered Binary Tree or Binary Search Tree Children of node are ordered pair known as left,](https://reader034.vdocuments.us/reader034/viewer/2022042221/5ec739fee52bd9124d4402fb/html5/thumbnails/15.jpg)
Balanced and Degenerate Tree
Copyright @ gdeepak.Com 15 6/6/2012 7:23 PM
![Page 16: Non linear data structures-Trees · Binary Tree Each internal node has at most two children Ordered Binary Tree or Binary Search Tree Children of node are ordered pair known as left,](https://reader034.vdocuments.us/reader034/viewer/2022042221/5ec739fee52bd9124d4402fb/html5/thumbnails/16.jpg)
Few formulas
n number of nodes
e number of external nodes
i number of internal nodes
h height
n = 2h + 1 − 1 for perfect binary trees
min: n = 2h and max: n = 2h + 1 − 1 for complete binary trees
e= 2h in a perfect binary tree
Left most child is the smallest element of the BST and right most element is the largest element of the tree
Copyright @ gdeepak.Com 16 6/6/2012 7:23 PM
![Page 17: Non linear data structures-Trees · Binary Tree Each internal node has at most two children Ordered Binary Tree or Binary Search Tree Children of node are ordered pair known as left,](https://reader034.vdocuments.us/reader034/viewer/2022042221/5ec739fee52bd9124d4402fb/html5/thumbnails/17.jpg)
Formulas for complete binary trees
e = i + 1
n = 2e – 1
h (n - 1)/2
e 2h
h log2 e
h log2 (n + 1) - 1
Copyright @ gdeepak.Com 17 6/6/2012 7:23 PM
![Page 18: Non linear data structures-Trees · Binary Tree Each internal node has at most two children Ordered Binary Tree or Binary Search Tree Children of node are ordered pair known as left,](https://reader034.vdocuments.us/reader034/viewer/2022042221/5ec739fee52bd9124d4402fb/html5/thumbnails/18.jpg)
Converting a tree to binary tree
Copyright @ gdeepak.Com 18 6/6/2012 7:23 PM
![Page 19: Non linear data structures-Trees · Binary Tree Each internal node has at most two children Ordered Binary Tree or Binary Search Tree Children of node are ordered pair known as left,](https://reader034.vdocuments.us/reader034/viewer/2022042221/5ec739fee52bd9124d4402fb/html5/thumbnails/19.jpg)
Searching in a tree (Recursion)
Search(t, k)
If t=null or k=t
return t
if k < x
return Search(Left(t),k)
else
return Search(Right(t),k)
Copyright @ gdeepak.Com 19 6/6/2012 7:23 PM
![Page 20: Non linear data structures-Trees · Binary Tree Each internal node has at most two children Ordered Binary Tree or Binary Search Tree Children of node are ordered pair known as left,](https://reader034.vdocuments.us/reader034/viewer/2022042221/5ec739fee52bd9124d4402fb/html5/thumbnails/20.jpg)
Searching in a tree (Iterative)
Search(t, k)
While t ≠ null or k ≠ t
if k < t
t←Left(t)
else
t← Right(t)
return t
Copyright @ gdeepak.Com 20 6/6/2012 7:23 PM
![Page 21: Non linear data structures-Trees · Binary Tree Each internal node has at most two children Ordered Binary Tree or Binary Search Tree Children of node are ordered pair known as left,](https://reader034.vdocuments.us/reader034/viewer/2022042221/5ec739fee52bd9124d4402fb/html5/thumbnails/21.jpg)
Complexity of search
It will depend upon the height of the tree because with every loop iteration we are progressing to next level of the loop.
Worst case: when we have a twig O(n)
Average case : When tree is nearly complete O(logn)
Best Case: O(1)
Using a complex proof it is known that Expected height of a BST built from a random data is O(logn)
Copyright @ gdeepak.Com 21 6/6/2012 7:23 PM
![Page 22: Non linear data structures-Trees · Binary Tree Each internal node has at most two children Ordered Binary Tree or Binary Search Tree Children of node are ordered pair known as left,](https://reader034.vdocuments.us/reader034/viewer/2022042221/5ec739fee52bd9124d4402fb/html5/thumbnails/22.jpg)
Insert(T, k) Insert(T, k) if Root(T) = null Root(T) =k else y←Root(T) while y ≠ null prev ← y if k<y y ← left(y) else y ← right(y)
parent(k) ← prev If k < prev left(prev) ← x else right(prev) ← x
Copyright @ gdeepak.Com 22 6/6/2012 7:23 PM
![Page 23: Non linear data structures-Trees · Binary Tree Each internal node has at most two children Ordered Binary Tree or Binary Search Tree Children of node are ordered pair known as left,](https://reader034.vdocuments.us/reader034/viewer/2022042221/5ec739fee52bd9124d4402fb/html5/thumbnails/23.jpg)
Special Case
What if we need to insert a duplicate element
Does the order of insertion matters : Yes, It will change the topology of the tree
Copyright @ gdeepak.Com 23 6/6/2012 7:23 PM
![Page 24: Non linear data structures-Trees · Binary Tree Each internal node has at most two children Ordered Binary Tree or Binary Search Tree Children of node are ordered pair known as left,](https://reader034.vdocuments.us/reader034/viewer/2022042221/5ec739fee52bd9124d4402fb/html5/thumbnails/24.jpg)
Linked Representation
Copyright @ gdeepak.Com 24
6/6/2012 7:23 PM
![Page 25: Non linear data structures-Trees · Binary Tree Each internal node has at most two children Ordered Binary Tree or Binary Search Tree Children of node are ordered pair known as left,](https://reader034.vdocuments.us/reader034/viewer/2022042221/5ec739fee52bd9124d4402fb/html5/thumbnails/25.jpg)
Tree Traversal
A traversal visits the nodes of a tree in a systematic manner
DFS (Depth first search of a tree has three types Preorder, Postorder and Inorder)
BFS (Breadth first search) of a tree is level wise
Copyright @ gdeepak.Com 25 6/6/2012 7:23 PM
![Page 26: Non linear data structures-Trees · Binary Tree Each internal node has at most two children Ordered Binary Tree or Binary Search Tree Children of node are ordered pair known as left,](https://reader034.vdocuments.us/reader034/viewer/2022042221/5ec739fee52bd9124d4402fb/html5/thumbnails/26.jpg)
Inorder traversal
In inorder traversal, left node is visited before the root node and right node is visited after the root node
Application: It gives data in sorted order in binary search trees
InorderTraversal(x)
If x ≠ null
InorderTraversal(Left(x))
Print x // or any other work to be done on that node
InorderTraversal(Right(x)) //Time Complexity Ө(n)
Copyright @ gdeepak.Com 26 6/6/2012 7:23 PM
![Page 27: Non linear data structures-Trees · Binary Tree Each internal node has at most two children Ordered Binary Tree or Binary Search Tree Children of node are ordered pair known as left,](https://reader034.vdocuments.us/reader034/viewer/2022042221/5ec739fee52bd9124d4402fb/html5/thumbnails/27.jpg)
Non recursive inorder traversal
To process a node:
Follow left links until Null (push onto stack).
Pop Print and process.
Follow right link (push onto stack).
Copyright @ gdeepak.Com 27 6/6/2012 7:23 PM
![Page 28: Non linear data structures-Trees · Binary Tree Each internal node has at most two children Ordered Binary Tree or Binary Search Tree Children of node are ordered pair known as left,](https://reader034.vdocuments.us/reader034/viewer/2022042221/5ec739fee52bd9124d4402fb/html5/thumbnails/28.jpg)
Copyright @ gdeepak.Com 28
6
6
6 3
6 3 1
6 3
6
6 5
6
-
10
10 8
10
-
14
-
6/6/2012 7:23 PM
![Page 29: Non linear data structures-Trees · Binary Tree Each internal node has at most two children Ordered Binary Tree or Binary Search Tree Children of node are ordered pair known as left,](https://reader034.vdocuments.us/reader034/viewer/2022042221/5ec739fee52bd9124d4402fb/html5/thumbnails/29.jpg)
Preorder Traversal
In preorder traversal, a node is visited before its descendants
Application: print a structured document
PreorderTraversal(x)
If x ≠ null
print x
PreorderTraversal(Left(x))
PreorderTraversal(Right(x))
Copyright @ gdeepak.Com 29 6/6/2012 7:23 PM
![Page 30: Non linear data structures-Trees · Binary Tree Each internal node has at most two children Ordered Binary Tree or Binary Search Tree Children of node are ordered pair known as left,](https://reader034.vdocuments.us/reader034/viewer/2022042221/5ec739fee52bd9124d4402fb/html5/thumbnails/30.jpg)
Preorder Traversal
Copyright @ gdeepak.Com 30
6 6 3 1 5 10 8 14
6/6/2012 7:23 PM
![Page 31: Non linear data structures-Trees · Binary Tree Each internal node has at most two children Ordered Binary Tree or Binary Search Tree Children of node are ordered pair known as left,](https://reader034.vdocuments.us/reader034/viewer/2022042221/5ec739fee52bd9124d4402fb/html5/thumbnails/31.jpg)
Postorder Traversal
In postorder traversal, a node is visited after its descendants
Application: compute space used by files in a directory and its subdirectories, Evaluating arithmetic operation
PostorderTraversal(x)
If x ≠ null
PostorderTraversal(Left(x))
PostorderTraversal(Right(x))
print x
Copyright @ gdeepak.Com 31 6/6/2012 7:23 PM
![Page 32: Non linear data structures-Trees · Binary Tree Each internal node has at most two children Ordered Binary Tree or Binary Search Tree Children of node are ordered pair known as left,](https://reader034.vdocuments.us/reader034/viewer/2022042221/5ec739fee52bd9124d4402fb/html5/thumbnails/32.jpg)
Postorder Traversal
Copyright @ gdeepak.Com 32
6 1 5 3 8 14 10 6
6/6/2012 7:23 PM
![Page 33: Non linear data structures-Trees · Binary Tree Each internal node has at most two children Ordered Binary Tree or Binary Search Tree Children of node are ordered pair known as left,](https://reader034.vdocuments.us/reader034/viewer/2022042221/5ec739fee52bd9124d4402fb/html5/thumbnails/33.jpg)
BFS Traversal
Copyright @ gdeepak.Com 33
6 6 3 10 1 5 8 14
6/6/2012 7:23 PM
![Page 34: Non linear data structures-Trees · Binary Tree Each internal node has at most two children Ordered Binary Tree or Binary Search Tree Children of node are ordered pair known as left,](https://reader034.vdocuments.us/reader034/viewer/2022042221/5ec739fee52bd9124d4402fb/html5/thumbnails/34.jpg)
Arithmetic expression trees
Copyright @ gdeepak.Com 34
((2+2)+(2+2))+(3+3)
6/6/2012 7:23 PM
![Page 35: Non linear data structures-Trees · Binary Tree Each internal node has at most two children Ordered Binary Tree or Binary Search Tree Children of node are ordered pair known as left,](https://reader034.vdocuments.us/reader034/viewer/2022042221/5ec739fee52bd9124d4402fb/html5/thumbnails/35.jpg)
Finding postorder • Preorder abcdfge
Inorder cbfdgae • From preorder a is the root,
now find a in the inorder traversal
• Now e is the right sub tree • We are left with sub tree • Preorder bcdfg
Postorder cbfdg • Preorder dfg
Postorder fdg
Copyright @ gdeepak.Com 35
a
b
c d
f g
e
6/6/2012 7:23 PM
![Page 36: Non linear data structures-Trees · Binary Tree Each internal node has at most two children Ordered Binary Tree or Binary Search Tree Children of node are ordered pair known as left,](https://reader034.vdocuments.us/reader034/viewer/2022042221/5ec739fee52bd9124d4402fb/html5/thumbnails/36.jpg)
Finding Inorder
We cannot find inorder because there can be two trees with the same pre and post order e.g. Postorder is d c b a for both the trees below
Copyright @ gdeepak.Com 36
a
b
c
d
a
d
c
b
6/6/2012 7:23 PM
![Page 37: Non linear data structures-Trees · Binary Tree Each internal node has at most two children Ordered Binary Tree or Binary Search Tree Children of node are ordered pair known as left,](https://reader034.vdocuments.us/reader034/viewer/2022042221/5ec739fee52bd9124d4402fb/html5/thumbnails/37.jpg)
Finding Inorder
If each internal node of the binary tree has at least two children then the tree can be determined from pre and post order traversals.
pre post
a b c d f g e c f g d b e a
from this a is the root then e is the right child of a from post order and from Preorder there is nothing after e so e is the leaf
b c d f g c f g d b
Now b is root of left sub tree and d is right children ( from post order) and then from inorder c is only child of d which is left child and so on.
Copyright @ gdeepak.Com 37 6/6/2012 7:23 PM
![Page 38: Non linear data structures-Trees · Binary Tree Each internal node has at most two children Ordered Binary Tree or Binary Search Tree Children of node are ordered pair known as left,](https://reader034.vdocuments.us/reader034/viewer/2022042221/5ec739fee52bd9124d4402fb/html5/thumbnails/38.jpg)
Finding Min and Max
TreeMin(x)
While left(x)≠ null
x← left(x)
Return x
TreeMax(x)
While right(x)≠ null
x← right(x)
Return x
Copyright @ gdeepak.Com 38 6/6/2012 7:23 PM
![Page 39: Non linear data structures-Trees · Binary Tree Each internal node has at most two children Ordered Binary Tree or Binary Search Tree Children of node are ordered pair known as left,](https://reader034.vdocuments.us/reader034/viewer/2022042221/5ec739fee52bd9124d4402fb/html5/thumbnails/39.jpg)
Finding Successor
Given x, find the node with the smallest key greater then key[x]
Two cases depend upon right sub tree of x
1: Right sub tree of x is nonempty, then successor is leftmost node in right sub tree
2: Right sub tree of x is empty, then keep going up until we are no longer a right child. If there is no such ancestor then successor is undefined.
we are going to the next node in inorder
Copyright @ gdeepak.Com 39 6/6/2012 7:23 PM
![Page 40: Non linear data structures-Trees · Binary Tree Each internal node has at most two children Ordered Binary Tree or Binary Search Tree Children of node are ordered pair known as left,](https://reader034.vdocuments.us/reader034/viewer/2022042221/5ec739fee52bd9124d4402fb/html5/thumbnails/40.jpg)
Finding Successor
TreeSuccessor(x)
If right(x)≠ null
return TreeMin(Right(x))
Else
y ← parent(x)
while y ≠ null and x=right(y)
x ← y
y ← parent(y)
Return y
Copyright @ gdeepak.Com 40
keep going up until we’re no longer a right child
6/6/2012 7:23 PM
![Page 41: Non linear data structures-Trees · Binary Tree Each internal node has at most two children Ordered Binary Tree or Binary Search Tree Children of node are ordered pair known as left,](https://reader034.vdocuments.us/reader034/viewer/2022042221/5ec739fee52bd9124d4402fb/html5/thumbnails/41.jpg)
Insertion In a binary Search Tree
Take an element whose left and right children are null and insert it into T
Find place in T where z belongs (as if searching for z) and add z
Runtime on a tree of height h is O(h)
Copyright @ gdeepak.Com 41 6/6/2012 7:23 PM
![Page 42: Non linear data structures-Trees · Binary Tree Each internal node has at most two children Ordered Binary Tree or Binary Search Tree Children of node are ordered pair known as left,](https://reader034.vdocuments.us/reader034/viewer/2022042221/5ec739fee52bd9124d4402fb/html5/thumbnails/42.jpg)
Deletion: Case-I
if x has no children : just remove x
Copyright @ gdeepak.Com 42 6/6/2012 7:23 PM
![Page 43: Non linear data structures-Trees · Binary Tree Each internal node has at most two children Ordered Binary Tree or Binary Search Tree Children of node are ordered pair known as left,](https://reader034.vdocuments.us/reader034/viewer/2022042221/5ec739fee52bd9124d4402fb/html5/thumbnails/43.jpg)
Deletion Case-II
If x has exactly one child then to delete x simply make p[x] point to that child
Copyright @ gdeepak.Com 43 6/6/2012 7:23 PM
![Page 44: Non linear data structures-Trees · Binary Tree Each internal node has at most two children Ordered Binary Tree or Binary Search Tree Children of node are ordered pair known as left,](https://reader034.vdocuments.us/reader034/viewer/2022042221/5ec739fee52bd9124d4402fb/html5/thumbnails/44.jpg)
Deletion Case-III
If x has two children, then to delete it we have to find its predecessor(going left and finding the rightmost node) or successor y and then Replace x with y (it will have at most one child) and delete y
Copyright @ gdeepak.Com 44 6/6/2012 7:23 PM
![Page 45: Non linear data structures-Trees · Binary Tree Each internal node has at most two children Ordered Binary Tree or Binary Search Tree Children of node are ordered pair known as left,](https://reader034.vdocuments.us/reader034/viewer/2022042221/5ec739fee52bd9124d4402fb/html5/thumbnails/45.jpg)
Case-IV
To delete root and successor is undefined, then need to take care of the start pointer
Copyright @ gdeepak.Com 45 6/6/2012 7:23 PM
![Page 46: Non linear data structures-Trees · Binary Tree Each internal node has at most two children Ordered Binary Tree or Binary Search Tree Children of node are ordered pair known as left,](https://reader034.vdocuments.us/reader034/viewer/2022042221/5ec739fee52bd9124d4402fb/html5/thumbnails/46.jpg)
Time complexity
Running time for delete, insertion and search
worst case O(n)
Average Case O(logn)
Creating a BST (Inserting n elements one by one)
worst case O(n2 )
Average case O(nlogn)
Inorder traversal of a BST gives a sorted list and takes O(n) time.
Copyright @ gdeepak.Com 46 6/6/2012 7:23 PM
![Page 47: Non linear data structures-Trees · Binary Tree Each internal node has at most two children Ordered Binary Tree or Binary Search Tree Children of node are ordered pair known as left,](https://reader034.vdocuments.us/reader034/viewer/2022042221/5ec739fee52bd9124d4402fb/html5/thumbnails/47.jpg)
Questions, Suggestions and Comments
Copyright @ gdeepak.Com 47 6/6/2012 7:23 PM
![Page 48: Non linear data structures-Trees · Binary Tree Each internal node has at most two children Ordered Binary Tree or Binary Search Tree Children of node are ordered pair known as left,](https://reader034.vdocuments.us/reader034/viewer/2022042221/5ec739fee52bd9124d4402fb/html5/thumbnails/48.jpg)
Question 1
Suppose that we have numbers between 1 and 1000 in a binary search tree, and we want to search for the number 363. Which of the following sequences could not be the sequences of nodes examined.
A) 2, 252, 401, 398, 330, 344, 397, 363
B) 924, 220, 911, 244, 898, 258, 362, 363
C) 925, 202, 911, 240, 912, 245, 363
D) 2, 399, 387, 219, 266, 382, 381, 278, 363
Copyright @ gdeepak.Com 48 6/6/2012 7:23 PM
![Page 49: Non linear data structures-Trees · Binary Tree Each internal node has at most two children Ordered Binary Tree or Binary Search Tree Children of node are ordered pair known as left,](https://reader034.vdocuments.us/reader034/viewer/2022042221/5ec739fee52bd9124d4402fb/html5/thumbnails/49.jpg)
Question 2
A binary search tree is generated by inserting in order the following integers: 50, 15, 62, 5, 20, 58, 91, 3, 8, 37, 60, 24
The number of nodes in the left sub-tree and right sub-tree of the root respectively is
A) (4, 7)
B) (7, 4)
C) (8, 3)
D) (3, 8)
Copyright @ gdeepak.Com 49 6/6/2012 7:23 PM
![Page 50: Non linear data structures-Trees · Binary Tree Each internal node has at most two children Ordered Binary Tree or Binary Search Tree Children of node are ordered pair known as left,](https://reader034.vdocuments.us/reader034/viewer/2022042221/5ec739fee52bd9124d4402fb/html5/thumbnails/50.jpg)
Question 3
Maximum number of nodes in a binary tree of level k, k ≥ 1 is
A) 2k + 1
B) 2k – 1
C) 2k–1
D) 2k–1 – 1
Copyright @ gdeepak.Com 50 6/6/2012 7:23 PM