35 votes

First, consider the tree on the left.

On the right, the nine nodes of the tree have been assigned numbers from the set $\left\{1, 2,\ldots,9\right\}$ so that for every node, the numbers in its left subtree and right subtree lie in disjoint intervals (that is, all numbers in one subtree are less than all numbers in the other subtree). How many such assignments are possible? Hint: Fix a value for the root and ask what values can then appear in its left and right subtrees.

- $2^{9}=512$
- $2^{4}.3^{2}.5.9=6480$
- $2^{3}.3.5.9=1080$
- $2^{4}=16$
- $2^{3}.3^{3}=216$

53 votes

Best answer

Option is **B.**

**for every node** -all numbers in one subtree are less than all numbers in the other subtree .

Firstly **chose** a value for** root **$- 9$ elements = $\mathbf{9}$** ways**

Now, we hv $\mathbf{8}$** elements left **- we hv to **chose **$\mathbf{3}$** for left subtree & **$\mathbf{5}$** for right subtree.**

**Note:** Here we can either chose $3$ nodes from beginning or end out of 8 elements we have ! $= \mathbf{2}$** ways**

Now,we hv $3$ elements for left subtree & $5$ for right(**Consider subtrees of subtree**).

**Left Subtree** :

whatever way we place , always one side is smaller than other {$6$ is smaller than $8$ in above example given in question} so, total ways $= \mathbf{3!} $ {three places put one by one} $=\mathbf{6}$** ways**

**Right Subtree** :

Right subtree has two more sub-trees ,so that elements on one side should be smaller than other** ****

Steps :

- Select one element for root $=\mathbf{5}$
**ways** - $4$ elements left ,Select one element for left $=\mathbf{2}$
**ways**{Either we can chose from left or right} - $3$ elements left, for right subtree $=\mathbf{3!}$ ways $=\mathbf{6}$
**ways**

Total ways $= 9*2* 3! * 5 * 2 * 3! = 2^4* 3^2 * 5 * 9 = 6480 =$ **B (Ans) **

0

i have a doubt regarding this as u said there are 9 ways to select root suppose i select 1 as root then how we construct left sub tree bcoz after selecting root as 1 there is no other elements smaller than 1 but we need exactely 3 elemants for left sub tree. plzz explain

4

@ saurabh

root is not a matter here

Here only we have to maintain "**all numbers in one subtree are less than all numbers in the other subtree**"

See here in question 7 is root.

That is not an issue for this question.

But **all node of left subtree** i.e.(6,9,8) must be **greater** than **all node of right subtree** (1,2,3,4,5)

1

All the 9 numbers can be there for the root.

Suppose 8 is chosen as root so from the left numbers 1 2 3 4 5 6 7 9 we have to fill the left and right trees such that left tree values are less than right or vice versa.

We can choose 123 or 679 for the left structure. If we choose 123 then 45679 have to be arranged on right structure.

Hope this helps.

Suppose 8 is chosen as root so from the left numbers 1 2 3 4 5 6 7 9 we have to fill the left and right trees such that left tree values are less than right or vice versa.

We can choose 123 or 679 for the left structure. If we choose 123 then 45679 have to be arranged on right structure.

Hope this helps.

1

Root can be 1 also. If it is chosen as 1 then the left choices are 23456789. Now our aim is to assign the numbers in such a way that left subtree Values are less than right subtree values or vice versa . There is no relation with the root being less or more than any of the subtree.

Now from 23456789 either 234 or 789 as left. If 789 as left then 23456 to be assigned to right.

Now from 23456789 either 234 or 789 as left. If 789 as left then 23456 to be assigned to right.

19 votes

0

Could You please explain it in detail.. ?? i am not getting 3 ways and 5 ways part, what are the numbers ??

0

It would be 2 and 2 ways because , we are not saying that it is a complete binary tree .

In complete binary tree , we have to fill the elements from left to right , correct ?

So if the question had mentioned that it is a complete binary tree , then there would had been 2 ways and 1 ways , because the left element would had been filled in 2 ways , then for filling the right element , there had been only 1 option .

But it is a binary tree , so we can fill the right element first also , we can fill the left element first also .

Hence it can be done in both the ways , that’s why it is 2 and 2 ways .

Correct me , if i am wrong .

In complete binary tree , we have to fill the elements from left to right , correct ?

So if the question had mentioned that it is a complete binary tree , then there would had been 2 ways and 1 ways , because the left element would had been filled in 2 ways , then for filling the right element , there had been only 1 option .

But it is a binary tree , so we can fill the right element first also , we can fill the left element first also .

Hence it can be done in both the ways , that’s why it is 2 and 2 ways .

Correct me , if i am wrong .

5 votes

1 2 3 4 5 6 7 8 9 no. of ways to select a root = 9 ,

after chosing root , choose right most 3 element fron this 1 to 9 series for left sub tree ( as elements of left sub tree should be greater than all elements of rignt subtree) . put thsese 3 elements in 3 nodes of left subtree in 3! ways

now we have left with 5 elements for right subtree . put these 5 elements in right subtree in 5! ways

so total trees == 9 *5!*3!= 6480

after chosing root , choose right most 3 element fron this 1 to 9 series for left sub tree ( as elements of left sub tree should be greater than all elements of rignt subtree) . put thsese 3 elements in 3 nodes of left subtree in 3! ways

now we have left with 5 elements for right subtree . put these 5 elements in right subtree in 5! ways

so total trees == 9 *5!*3!= 6480