GATE CS 2014 Set 3 — Question 51
Go beyond PYQs with Success TrackerAI-powered personalised practice and doubt support. Unlimited practice on eligible plans; AI usage limits apply.MCQ+2 / -0.67MediumFunctions & RecursionC ProgrammingProgramming & Data StructuresTree TraversalsTrees
Programming & Data Structures → C Programming → Functions & Recursion
Last updated
Question
Consider the pseudocode given below. The function When the pointer to the root of a tree is passed as the argument to
DoSomething() takes as argument a pointer to the root of an arbitrary tree represented by the leftMostChild-rightSibling representation. Each node of the tree is of type treeNode.typedef struct treeNode* treeptr;
struct treeNode
{
treeptr leftMostChild, rightSibling;
};
int DoSomething (treeptr tree)
{
int value=0;
if (tree != NULL) {
if (tree->leftMostChild == NULL)
value = 1;
else
value = DoSomething(tree->leftMostChild);
value = value + DoSomething(tree->rightSibling);
}
return(value);
}
DoSomething, the value returned by the function corresponds to theCorrect answer
(D) number of leaf nodes in the tree.
Solution
The function
DoSomething traverses the tree using the Left-Child Right-Sibling representation.Let's analyze the logic:1.If
tree is NULL, it returns 0.2.If
tree->leftMostChild == NULL, it means the node has no children. In a general tree, a node with no children is a leaf. In this case, value is set to 1.3.If
tree->leftMostChild != NULL, it recursively calls DoSomething on the first child. This sums up the values from the children.4.Finally, it adds
Essentially, for any node:DoSomething(tree->rightSibling). This adds the result from the siblings.- If it is a leaf, it contributes 1 to the sum.
- If it is an internal node, it contributes the sum of the results of its children.
- The function also sums across all siblings.
Continue learning with Success Tracker
A step still unclear? Work through it with support
Use Success Tracker to ask about the reasoning, then try another GATE CS question to check your understanding.
AI-powered practice· Unlimited practice on eligible plans
- PYQs with solutions
- Attempt available previous-year questions, then compare your reasoning with the worked solution. Coverage varies by stream.
- Practice that adapts
- Choose a topic, work on weaker areas and bookmark questions to revisit. Your attempts feed your progress tracking.
- AI doubt support
- Ask follow-up questions about a step or concept while practising, instead of stopping at the final answer.
Unlimited practice is available on eligible plans. Free practice and AI usage have limits; check the current plan allowances before choosing.
This page stays readable without an account. AI responses can be wrong; check them against the solution and source material.
More questions on C Programming
2026 Set 2 Q12The set T represents various traversals over binary tree. The set S represents the order of…2026 Set 2 Q19Consider the following three ANSI-C programs, P1, P2, and P3. P1 [code] P2 [code] **P3**…2026 Set 1 Q23Let be an odd number greater than 100. Consider a binary minheap with elements stored in an…2026 Set 1 Q24Consider a hash table that is initially empty. The hash table is maintained…2026 Set 1 Q27Consider the following C statements: Which of the following options is/are correct? [figure]