| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5339 人关注过本帖
标题:求二叉树深度的函数
只看楼主 加入收藏
long361800
Rank: 2
等 级:论坛游民
帖 子:33
专家分:37
注 册:2010-8-23
结帖率:90%
收藏
已结贴  问题点数:2 回复次数:3 
求二叉树深度的函数
/**********************树的深度**************************/

int BTNodeDepth(BTNode *b)    /*求二叉树b的深度*/
{
       int lchilddep,rchilddep;
       if (b==NULL)
        return(0);                             /*空树的高度为0*/
       else  
    {   
        lchilddep=BTNodeDepth(b->lchild);    /*求左子树的高度为lchilddep*/
          rchilddep=BTNodeDepth(b->rchild);    /*求右子树的高度为rchilddep*/
        return (lchilddep>rchilddep)? (lchilddep+1):(rchilddep+1);
       }
} //BTNodeDepth

这个函数的递归过程是怎样的啊??   我怎么感觉不到lchilddep值和rchilddep的变化啊??  求讲解一下递归的过程,是怎样求出它的lchilddep值和rchilddep的??
搜索更多相关主题的帖子: return 二叉树 
2011-08-07 12:11
世界模型
Rank: 4
等 级:业余侠客
威 望:1
帖 子:240
专家分:226
注 册:2010-9-12
收藏
得分:1 
程序代码:
int depth(BiTree bt)
{
    int d1,d2;

    if(!bt)
        return 0;
    d1=depth(bt->lchild);
    d2=depth(bt->rchild);

    return (d1>d2?d1:d2)+1;
} 
2011-08-08 00:16
long361800
Rank: 2
等 级:论坛游民
帖 子:33
专家分:37
注 册:2010-8-23
收藏
得分:0 
回复 2楼 世界模型
我说的是分析递归过程,你那个程序和我的一样
2011-08-08 09:25
QQ346957135
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:148
专家分:658
注 册:2011-8-9
收藏
得分:1 
递归是很复杂的,不必深究详细过程;但是在用法上有规律可循。这个求二叉树的深度的算法可简单的理解为先求出左子树的深度,再求出右子树的深度,在比较下就行了。

A real warrior never quits.
2011-08-10 12:47
快速回复:求二叉树深度的函数
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017487 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved