Balanced Binary Search Trees
Question 1 
The worst case running time to search for an element in a balanced in a binary search tree with n2^n elements is
(A)
(B)
(C)
(D)
(A)
(B)
(C)
(D)
A  
B  
C  
D 
Discuss it
Question 1 Explanation:
Time taken to search an element is [Tex]\Theta (h) [/Tex] where h is the height of Binary Search Tree (BST). The growth of height of a balanced BST is logerthimic in terms of number of nodes. So the worst case time to search an element would be [Tex]\Theta (Log(n*2^n)) [/Tex] which is [Tex]\Theta (Log(n) + Log(2^n)) [/Tex] Which is [Tex]\Theta (Log(n) + n) [/Tex] which can be written as [Tex]\Theta (n) [/Tex].
Question 2 
What is the maximum height of any AVLtree with 7 nodes? Assume that the height of a tree with a single node is 0.
2  
3  
4  
5 
Discuss it
Question 2 Explanation:
AVL trees are binary trees with the following restrictions.
1) the height difference of the children is at most 1.
2) both children are AVL trees
Following is the most unbalanced AVL tree that we can get with 7 nodes
a / \ / \ b c / \ / / \ / d e g / / h
Question 3 
What is the worst case possible height of AVL tree?
2Logn Assume base of log is 2  
1.44log n Assume base of log is 2  
Depends upon implementation  
Theta(n) 
Discuss it
Question 3 Explanation:
Question 4 
Which of the following is AVL Tree?
A 100 / \ 50 200 / \ 10 300 B 100 / \ 50 200 / / \ 10 150 300 / 5 C 100 / \ 50 200 / \ / \ 10 60 150 300 / \ \ 5 180 400
Only A  
A and C  
A, B and C  
Only B 
Discuss it
Question 4 Explanation:
A Binary Search Tree is AVL if balance factor of every node is either 1 or 0 or 1. Balance factor of a node X is [(height of X>left)  (height of X>right)].
In Tree B, the node with value 50 has balance factor 2. That is why B is not an AVL tree.
Question 5 
Consider the following AVL tree.
60 / \ 20 100 / \ 80 120Which of the following is updated AVL tree after insertion of 70
A 70 / \ 60 100 / / \ 20 80 120 B 100 / \ 60 120 / \ / 20 70 80 C 80 / \ 60 100 / \ \ 20 70 120 D 80 / \ 60 100 / / \ 20 70 120
A  
B  
C  
D 
Discuss it
Question 5 Explanation:
Refer following for steps used in AVL insertion.
AVL Tree  Set 1 (Insertion)
After insertion of 70, tree becomes following 60 / \ 20 100 / \ 80 120 / 70We start from 50 and travel up. We keep travelling up till we find an unbalanced node. In above case, we reach the node 60 and see 60 got unbalanced after insertion and this is Right Left Case. So we need to apply two rotations
60 60 80 / \ Right Rotate(100) / \ Left Rotate(60) / \ 20 100 > 20 80 > 60 100 / \ / \ / \ \ 80 120 70 100 20 70 120 / \ 70 120
Question 6 
Which of the following is a selfadjusting or selfbalancing Binary Search Tree
Splay Tree  
AVL Tree  
Red Black Tree  
All of the above 
Discuss it
Question 6 Explanation:
Question 7 
Consider the following leftrotate and rightrotate functions commonly used in selfadjusting BSTs
T1, T2 and T3 are subtrees of the tree rooted with y (on left side) or x (on right side) y x / \ Right Rotation / \ x T3 –  –  –  – > T1 y / \ <        / \ T1 T2 Left Rotation T2 T3Which of the following is tightest upper bound for leftrotate and rightrotate operations.
O(1)  
O(Logn)  
O(LogLogn)  
O(n) 
Discuss it
Question 7 Explanation:
The rotation operations (left and right rotate) take constant time as only few pointers are being changed there. Following are C implementations of leftrotate and rightrotate
1
Question 8 
Which of the following is true
The AVL trees are more balanced compared to Red Black Trees, but they may cause more rotations during insertion and deletion.  
Heights of AVL and RedBlack trees are generally same, but AVL Trees may cause more rotations during insertion and deletion.  
Red Black trees are more balanced compared to AVL Trees, but may cause more rotations during insertion and deletion.  
Heights of AVL and RedBlack trees are generally same, but Red Black rees may cause more rotations during insertion and deletion. 
Discuss it
Question 8 Explanation:
Red Black Tree with n nodes has height <= 2Log2(n+1)
AVL Tree with n nodes has height less than Log_{φ}(√5(n+2))  2.
Therefore, the AVL trees are more balanced compared to Red Black Trees, but they may cause more rotations during insertion and deletion. So if your application involves many frequent insertions and deletions, then Red Black trees should be preferred. And if the insertions and deletions are less frequent and search is more frequent operation, then AVL tree should be preferred over Red Black Tree.
Question 9 
Which of the following is true about Red Black Trees?
The path from the root to the furthest leaf is no more than twice as long as the path from the root to the nearest leaf  
At least one children of every black node is red  
Root may be red  
A leaf node may be red 
Discuss it
Question 9 Explanation:
Question 10 
Which of the following is true about AVL and Red Black Trees?
In AVL tree insert() operation, we first traverse from root to newly inserted node and then from newly inserted node to root. While in Red Black tree insert(), we only traverse once from root to newly inserted node.  
In both AVL and Red Black insert operations, we traverse only once from root to newly inserted node,  
In both AVL and Red Black insert operations, we traverse twiceL first traverse root to newly inserted node and then from newly inserted node to root.  
None of the above 
Discuss it
Question 10 Explanation:
Refer Red Black Tree Insertion and AVL Tree Insertion
Question 11 
What is the worst case possible height of RedBlack tree?
Assume base of Log as 2 in all options
2Log(n+1)  
1.44 Logn  
4Logn  
None of the above 
Discuss it
Question 11 Explanation:
Question 12 
Is the following statement valid?
A RedBlack Tree which is also a perfect Binary Tree can have all black nodes
Yes  
No 
Discuss it
Question 12 Explanation:
A perfect BST with all black nodes doesn't violate any of the RedBlack tree properties.
Question 13 
Which of the following operations are used by RedBlack trees to maintain balance during insertion/deletion? a) Recoloring of nodes b) Rotation (Left and Right)
Only a  
Only b  
Both a and b  
Neither a nor b 
Discuss it
Question 13 Explanation:
Both recoloring and rotation operations are used during insertion and deletion.
Question 14 
A program takes as input a balanced binary search tree with n leaf nodes and computes the value of a function g(x) for each node x. If the cost of computing g(x) is min{no. of leafnodes in leftsubtree of x, no. of leafnodes in rightsubtree of x} then the worstcase time complexity of the program is
Θ(n)  
Θ(nLogn)  
Θ(n^{2})  
Θ(n^{2}log n) 
Discuss it
Question 14 Explanation:
The recurrence relation for the recursive function is T(N) = 2 * T(N/2) + n/2 Where N is the total no. of nodes in the tree. T(N) = 2 * (2*T(N/2) + n/2) + n/2 = 4 * T(N/2) + 3(n/2) Solve this till T(1) i.e. till we reach the root. T(N) = c * T(N / 2^i) + (2*i  1) * (n/2) Where i = lg(N) = lg((2n  1) / 2) O(c * T(N / 2^i) + (2*i  1) * (n/2)) reduces to O((2*i  1) * (n/2)) O((2*( lg((2n  1) / 2))  1) * (n/2)) ...sub the value of i. O(n * ln(n))Source: http://www.nid.iitkgp.ernet.in/DSamanta/courses/IT60101_2/Archives/Assignment%20IC%20Binary%20Trees%20Solutions.pdf
Question 15 
Which of the following is TRUE?
The cost of searching an AVL tree is θ (log n) but that of a binary search tree is O(n)  
The cost of searching an AVL tree is θ (log n) but that of a complete binary tree is θ (n log n)  
The cost of searching a binary search tree is O (log n ) but that of an AVL tree is θ(n)  
The cost of searching an AVL tree is θ (n log n) but that of a binary search tree is O(n) 
Discuss it
Question 15 Explanation:
AVL tree is a balanced tree.
AVL tree's time complexity of searching = θ(logn)
But a binary search tree, may be skewed tree, so in worst case BST searching time = θ(n)
AVL tree's time complexity of searching = θ(logn)
But a binary search tree, may be skewed tree, so in worst case BST searching time = θ(n)
Question 16 
Given two Balanced binary search trees, B1 having n elements and B2 having m elements, what is the time complexity of the best known algorithm to merge these trees to form another balanced binary tree containing m+n elements ?
O(m+n)  
O(mlogn)
 
O(nlogm)
 
O(m^{2} + n^{2})

Discuss it
Question 16 Explanation:
O(m+n) as we can first perform inorder on both the trees and store them in two separate arrays. Now we have two sorted sequences and we can merge them in O(m+n) using standard merge algorithm and on the final sorted array we can use the binary search to create the tree using Recursion. Recursively adding middle element at the root and repeating the same process for left and right subarrays.
There are 16 questions to complete.