【问题标题】:finding depth of a tree?找到树的深度?
【发布时间】:2017-07-16 18:11:31
【问题描述】:

我对二叉树和递归非常陌生。我的程序是查找树的高度,但我有点困惑为什么我的程序不起作用。

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 高度?谢谢

【问题讨论】:

  • 用一个根节点和一个叶节点构造一棵树,然后手动逐步执行您的代码。

标签: algorithm recursion data-structures


【解决方案1】:
return lheight + 1;

return rheight + 1;

你需要增加每一层的高度。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-22
    • 1970-01-01
    • 2012-10-12
    • 2011-11-28
    • 2019-06-27
    • 1970-01-01
    相关资源
    最近更新 更多