回 帖 发 新 帖 刷新版面

主题:急急急!!!!!求二叉树的高度的算法!!

1、要求采用二叉链表作为存储结构,完成二叉树的建立、前序、中序、后序和按层遍历的操作,并求出二叉树的高度、所有叶子及树结点总数的算法,输出二叉树的广义表表示。
     A
    / \
   /   \
  B     C
 / \   /
D   E F
   /   \
  G     H
我就二叉树的高度不会,大大们帮帮忙。

回复列表 (共8个回复)

沙发

int high(bitre bt)
{
  if (bt==null) return(0);
  else
    return(1+max(high(bt->lchild),high(bt->rchild)));
}

板凳

return(1+max(high(bt->lchild),high(bt->rchild)));??
这是什么?

3 楼

汗,还要把max函数也编给你啊
int max(int a,int b)
{
  if (a>=b) return(a);
  else return(b);
}

4 楼

在主函数中,如何输出retrun的值?

5 楼

在主函数中,如何输出return的值?

6 楼

void Deep(BtNode *&Bt,int j)
{
    if(Bt)
    {
       j++;
       if(deep<j)
            deep=j;
        Deep(Bt->lchild,j);
        Deep(Bt->rchild,j);
     }
}



7 楼

很难相信楼主只有树的高度不会求。我已经后悔给你解答了,我害了你,我不该意识不到你是在求作业。

8 楼

不关怎样,都要谢谢你,给我写出这个程序来.
我的确是在做作业,但我真的在书上找不有关求树的高度啊!!

我来回复

您尚未登录,请登录后再回复。点此登录或注册