注册 登录
编程论坛 数据结构与算法

如何求一个二叉树的深度?

清微御宇 发布于 2013-05-26 16:49, 767 次点击
程序代码:
int j=0;//能不能用j获得一个二叉树的深度
Status BiTreeDepth(BiTree T,int i)//用的链式存储结构
{
    if(T==NULL)
    {
        return OK;
    }

    if(j<i)
        j=i;
     BiTreeDepth(T->lchild,i+1);
     BiTreeDepth(T->rchild,i+1);
   
}
4 回复
#2
笑傲2013-05-26 20:15
int max(int x,int y)                 //比较大小
 {
     return((x>y)?x:y);
 }

int  high(ptree *s)                                        //求树的深度
{
    if(s==NULL)                                       //出口,当为空时返回;
        return 0;
    return(max(high(s->lchild),high(s->rchild))+1);
}
#3
清微御宇2013-05-27 17:20
回复 2楼 笑傲
嗯,你说的方法知道,我想知道我给出的那种方法是否可行?
#4
cuijunchao2013-05-28 10:31
应该是可以的 j用来记录最大的深度,当然亦可数中最深的分支就是它的深度
#5
清微御宇2013-05-28 16:32
回复 4楼 cuijunchao
哦,好的,谢谢
1