📜  数据结构 |树遍历 |问题 1

📅  最后修改于: 2021-09-08 12:48:42             🧑  作者: Mango

以下函数应该计算二叉树的最大深度或高度——从根节点到最远叶节点的最长路径上的节点数。

int maxDepth(struct node* node)
{
   if (node==NULL)
       return 0;
   else
   {
       /* compute the depth of each subtree */
       int lDepth = maxDepth(node->left);
       int rDepth = maxDepth(node->right);
   
       /* use the larger one */
       if (lDepth > rDepth)
           return X;
       else return Y;
   }
}

X 和 Y 的值应该是多少才能使函数正常工作?
(A) X = lDepth, Y = rDepth
(B) X = lDepth + 1, Y = rDepth + 1
(C) X = lDepth – 1, Y = rDepth -1
(D)以上都不是答案:(乙)
说明:如果树不为空,则树的高度为
MAX(左子树的高度,右子树的高度)+ 1

有关更多详细信息,请参阅查找树的最大深度或高度的程序。

这个问题的测验