+ -
当前位置:首页 → 问答吧 → 二叉树求高度

二叉树求高度

时间:2011-11-29

来源:互联网

二叉树怎么求高度,怎么实现层次遍历二叉树。给位说说。

作者: lin573879874   发布时间: 2011-11-29

遍历的话简单的就是递归方法,分先序中序后序这三种。
typedef struct node // 结点结构,二叉链表
{
  char data;
  struct node *lchild,*rchild; // 左右孩子指针
}binode,*bitree;
___________________________________________________________________________________
int xianxubianli(binode *t) //递归方法实现先序遍历
{
if(t)
{
cout<<t->data<<" ";
xianxubianli(t->lchild);
xianxubianli(t->rchild);
return 1;
}
else
return 0;
}

int zhongxubianli(binode *t) //递归方法实现中序遍历
{
if(t!=NULL)
{
zhongxubianli(t->lchild);
cout<<t->data<<" ";
zhongxubianli(t->rchild);
return 1;
}
else
return 0;
}

int houxubianli(binode *t) //递归方法实现后序遍历
{
if(t)
{
houxubianli(t->lchild);
houxubianli(t->rchild);
cout<<t->data<<" ";
return 1;
}
else
return 0;
}
_________________________________________________________________________________
//计算二叉树的高度
int height(binode *t)
{
if(t==NULL)
return 0;
else
{
int m=height(t->lchild);
int n=height(t->rchild);
return(m>n)?m+1:n+1;
}
}

作者: cmlingyi   发布时间: 2011-11-30

那层次遍历怎么实现?

作者: lin573879874   发布时间: 2011-11-30