Consider the following C program segment
struct CellNode{
struct CellNode *leftChild
int element;
struct CellNode *rightChild;
};
int Dosomething (struct CellNode *ptr)
{
int value = 0;
if(ptr != NULL)
{
if (ptr -> leftChild != NULL)
value = 1 + DoSomething (ptr -> leftChild);
if (ptr -> rightChild != NULL)
value = max(value, 1 + Dosomething (ptr -> rightChild));
}
return(value);
}
The value returned by the function $\text{DoSomething}$ when a pointer to the root of a non-empty tree is passed as argument is
- The number of leaf nodes in the tree
- The number of nodes in the tree
- The number of internal nodes in the tree
- The height of the tree