编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛  
 
全能 ASP / PHP / ASP.NET 主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
发新话题
打印

求二叉树的高度算法

求二叉树的高度算法

求二叉树的高度算法,谁会呀,救一下老弟啊求二叉树的高度算法

TOP

遍历一下就可以了
返回max(dfs(tree.left),dfs(tree.left))+1;
为了中国软件工业的未来,有爱心的朋友请不要帮忙代做作业,或者至少是收费服务!如果您不需要钱,或者您不愿收费用于自己,请把收取的钱用于支援山区贫困学生…谢谢大家!

TOP

除了能求高度,还能判断树是否平衡

int node_depth(node_tp node, int * blance)
{
    int l, r;
    if(!node)
        return 0;
    l = node_depth(node->left, blance);
    r = node_depth(node->right,blance);
    if(blance && (l - r > 1 || l - r < -1))
    {
        *blance = 0;
        printf("\ncha=%d, %d", l-r, node->data);
    }
    return 1 + ((l > r)? l:r);
}

TOP

求二叉树的深度

int depth(treenode *bt)
{
    if(bt==null)
       retrun 0;
    else
   {
   int dep1=depth(bt->letf);
   int dep2=depth(bt->right);
   if(dep1>dep2)
      return dep1+1;
   else
      return dep2+1;
   }

}

TOP

发新话题