Skip to content
GATEiit

GATE DA 2024 Q38: Output of a recursive count over a child dictionary

Question

Consider the following Python code:

def count(child_dict, i):
    if i not in child_dict.keys():
        return 1
    ans = 1
    for j in child_dict[i]:
        ans += count(child_dict, j)
    return ans

child_dict = dict()
child_dict[0] = [1,2]
child_dict[1] = [3,4,5]
child_dict[2] = [6,7,8]
print(count(child_dict,0))

Which ONE of the following is the output of this code?

Try it: multiple choice: exactly one correct option

Select one option
Wrong answer costs 2/3 mark in GATE.
Show answer and explanation

Answer: D (official GATE 2024 final answer key)

Concept used: Recursion counting the nodes of a tree stored as a parent → children dictionary.

First step: count(i) is 1 for node i plus the counts of its children: the tree has root 0, children 1 and 2, and leaves 3–8.

Full step-by-step solution

Detailed working, common mistakes and linked mock tests will be available with a free GATEiit account. Log-in is coming soon.

Share this question

WhatsAppDownload image

Source: official GATE 2024 DA question paper and final answer key, organised by IISc Bangalore. Question paper · Answer key