The Gateway to Computer Science Excellence

+34 votes

In a binary tree with $n$ nodes, every node has an odd number of descendants. Every node is considered to be its own descendant. What is the number of nodes in the tree that have exactly one child?

- $0$
- $1$
- $\frac{(n-1)}{2}$
- $n-1$

+33

It is mentioned that each node has an odd number of descendants including node itself, so all nodes must have an even number of descendants 0, 2, 4 so on. Which means each node should have either 0 or 2 children. So there will be no node with 1 child. Hence 0 answer.

0

Is descendant same as child ?? Does this question means every node is considered as its own child ?? somebody please clarify.

0

Descendant of a node is [1(itself) + no. of its children] because children of a node are descendants of that node.

+40 votes

Best answer

+2

A descendant of a node N is either N itself, a child of N, a child of a child of N and so on for any number of levels .. We say node N is an ancestor of node M if M is a descendant of N ...

0

For Full binary tree of 5 nodes again answer is 0 **because of the condition that we have to find the nodes in the tree that have exactly one child**. If this condition is not there then there are 3 nodes with odd number of descendants.

We can check it simply by drawing tree.

0

@Kuljeet Shan im understanding it as :

there are 3 nodes, root, Ln, Rn then,

root is having 3 descendents - (root itself + Ln + Rn) = 3 descendents

Ln = (Ln itself) = 1 descendent

Rn = (Rn itself) = 1 descendent

where am i wrong ?

0

Actually i explained the question asked by @arya_stark for full binary tree of 5 nodes.

The above answer for original question is absolutely right and ur explanation is right too.

0

@akshayaK You can simply draw a full binary tree with 5 nodes you will find that there is no node with exactly one child.

And in my first comment i mentioned the condition that is given in the original question above that is **we have to find the nodes in the tree that have exactly one child**.

+15 votes

It is given that , "every node has an odd number of descendants. Every node is considered to be its own descendant.".

For all Nodes,

Total Odd Descendants = 1 (Itself ) + Descendents other than itself

Descendants other than Itself = Odd - 1 = Even

So answer is A.

+11 votes

in binary tree there are 3 cases

1) 0 child 2) 1 child 3) 2 child

if it hv 1 child ( odd ) then no of descendents are 2 ( even ) no this case is invalid

if it hv 0 or 2 child ( even ) then no of descendents are 1 or 2 ( odd ) respectively and this case is valid

so in this only 0 or 2 child are valid and 1 child is invalid

so number of nodes in the tree that have exactly one child is 0

1) 0 child 2) 1 child 3) 2 child

if it hv 1 child ( odd ) then no of descendents are 2 ( even ) no this case is invalid

if it hv 0 or 2 child ( even ) then no of descendents are 1 or 2 ( odd ) respectively and this case is valid

so in this only 0 or 2 child are valid and 1 child is invalid

so number of nodes in the tree that have exactly one child is 0

+7 votes

According to this definition " either 2 children or 0 children for every node"

clearly 0 node with only one child.

A is ans.

0

the maximum child possible is 3, that is the node itself with it's 2 child

minimum child possible is 1, that is node itself

right?

minimum child possible is 1, that is node itself

right?

0

But Prashant Sir,

The correct definition is,** In a binary tree**,** every node should have at most two children**.So a node can have 1 child also.

+6 votes

Since Odd + Even = Odd

bydefault 1 descendent (odd) which is the node itself.

Now to get odd number of descendents node must have even number of descendents(nodes with 0,2,4,6.... descendents).

If a node has only one child then number of descendents will be even which is contradiction.

So none of such node is possible

Answer is A

bydefault 1 descendent (odd) which is the node itself.

Now to get odd number of descendents node must have even number of descendents(nodes with 0,2,4,6.... descendents).

If a node has only one child then number of descendents will be even which is contradiction.

So none of such node is possible

Answer is A

+3 votes

+3 votes

It is mentioned that each node has odd number of descendants including node itself, so all nodes must have even number of descendants 0, 2, 4 so on. Which means each node should have either 0 or 2 children. So there will be no node with 1 child. Hence 0 is answer. Following are few examples.

a / \ b c a / \ b c / \ d e

Such a binary tree is full binary tree (a binary tree where every node has 0 or 2 children).

52,215 questions

60,009 answers

201,233 comments

94,695 users