Algorithm 找到树的深度?
我对二叉树和递归非常陌生。我的程序是找到树的高度,但我有点困惑,为什么我的程序不能工作Algorithm 找到树的深度?,algorithm,recursion,data-structures,Algorithm,Recursion,Data Structures,我对二叉树和递归非常陌生。我的程序是找到树的高度,但我有点困惑,为什么我的程序不能工作 struct Node { int value; Node *left; Node *right; } int heightOfTree(Node node){ if(node ==NULL) { return 0; } else { int lheight=heightOfTree(node->left)
struct Node {
int value;
Node *left;
Node *right;
}
int heightOfTree(Node node){
if(node ==NULL)
{
return 0;
}
else
{
int lheight=heightOfTree(node->left);
int rheight = heightOfTree(node->right);
if(lheight>rheight)
{
return lheight;
}
else
{
return rheight;
}
}
}
我在线跟踪了一个伪代码,所以我自己实现了它,因为我不想只是复制和粘贴。我试图插入很多节点,但当我运行程序时,我总是得到0高度?多谢各位
return lheight + 1;
及
您需要在每个级别增加高度。构建一个包含根节点和一个叶节点的树,并手动遍历代码。
return rheight + 1;