A weight-balanced tree is a binary tree in which for each node. The number of nodes in the left sub tree is at least half and at most twice the number of nodes in the right sub tree. The maximum possible height (number of nodes on the path from the root to the farthest leaf) of such a tree on n nodes is best described by which of the following?

a)

b)

c)

d)

**(A)** A

**(B)** B

**(C)** C

**(D)** D

**Answer:** **(D)** **Explanation:** Let the maximum possible height of a tree with n nodes is represented by H(n).

The maximum possible value of H(n) can be approximately written using following recursion

H(n) = H(2n/3) + 1

The solution of above recurrence is . We can simply get it by drawing a recursion tree.

4. Consider the following algorithm for searching for a given number x in an unsorted – array A[1..n] having n distinct values:

1) Choose an i uniformly at random from 1..n; 2) If A[i] = x then Stop else Goto 1;

**Assuming that x is present in A, what is the expected number of comparisons made by the algorithm before it terminates? **

a) n

b) n-l

c) 2n

d) n/2

Answer(a)

If you remember the coin and dice questions, you can just guess the answer for the above.

Below is proof for the answer.

Let expected number of comparisons be E. Value of E is sum of following expression for all the possible cases.

number_of_comparisons_for_a_case * probability_for_the_case

Case 1

If A[i] is found in the first attempt number of comparisons = 1 probability of the case = 1/n

Case 2

If A[i] is found in the second attempt number of comparisons = 2 probability of the case = (n-1)/n*1/n

Case 3

If A[i] is found in the third attempt number of comparisons = 2 probability of the case = (n-1)/n*(n-1)/n*1/n

There are actually infinite such cases. So, we have following infinite series for E.

E = 1/n + [(n-1)/n]*[1/n]*2 + [(n-1)/n]*[(n-1)/n]*[1/n]*3 + …. (1)

After multiplying equation (1) with (n-1)/n, we get

E (n-1)/n = [(n-1)/n]*[1/n] + [(n-1)/n]*[(n-1)/n]*[1/n]*2 + [(n-1)/n]*[(n-1)/n]*[(n-1)/n]*[1/n]*3 ……….(2)

Subtracting (2) from (1), we get

E/n = 1/n + (n-1)/n*1/n + (n-1)/n*(n-1)/n*1/n + …………

The expression on right side is a GP with infinite elements. Let us apply the sum formula (a/(1-r))

E/n = [1/n]/[1-(n-1)/n] = 1 E = n

## Recommended Posts:

- Introduction to Data Structures | 10 most commonly used Data Structures
- Data Structures | Binary Trees | Question 1
- Data Structures | Binary Trees | Question 15
- Data Structures | Binary Trees | Question 3
- Data Structures | Binary Trees | Question 15
- Data Structures | Binary Trees | Question 6
- Data Structures | Binary Search Trees | Question 1
- Data Structures | Binary Search Trees | Question 2
- Data Structures | Balanced Binary Search Trees | Question 2
- Data Structures | Binary Search Trees | Question 3
- Data Structures | Binary Search Trees | Question 4
- Data Structures | Binary Search Trees | Question 5
- Data Structures | Balanced Binary Search Trees | Question 2
- Data Structures | Binary Trees | Question 8
- Data Structures | Binary Trees | Question 10
- Data Structures | Binary Trees | Question 11
- Data Structures | Binary Search Trees | Question 6
- Data Structures | Binary Trees | Question 12
- Data Structures | Binary Trees | Question 13
- Data Structures | Binary Search Trees | Question 7