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

📅  最后修改于: 2021-06-28 17:35:45             🧑  作者: 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 =深度,Y =深度
(B) X = lDepth +1,Y = rDepth +1
(C) X = lDepth – 1,Y = rDepth -1
(D)以上都不是答案: (B)
说明:如果树不为空,则树的高度为
MAX(左子树的高度,右子树的高度)+1

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

这个问题的测验