数据结构_求二叉树的高度以及层次遍历二叉树算法_C语言源代码
2014-07-20 12:41
344 查看
int Height(BTNode *T)//求二叉树高度
{
int L,R;
if(NULL == T)
return 0;
else
{
L=Height(T->lchild);
R=Height(T->rchild);
return L>R ? L+1 :R+1;
}
}
const int MAXSIZE=100;
BTNode * Q[MAXSIZE];
int front=0;
int rear=0;
void VisitByLayer(BTNode *T)//层次遍历二叉树
{
BTNode *s=NULL;
if(NULL != T)
{
Q[rear] = T;
rear=(rear+1)%MAXSIZE;
while(front != rear)
{
s=Q[front];
front=(front+1)%MAXSIZE;
printf("%c\t",s->data);
if(NULL != s->lchild)
{
Q[rear]=s->lchild;
rear=(rear+1)%MAXSIZE;
}
if(NULL != s->rchild)
{
Q[rear]=s->rchild;
rear=(rear+1)%MAXSIZE;
}
}
}
}
{
int L,R;
if(NULL == T)
return 0;
else
{
L=Height(T->lchild);
R=Height(T->rchild);
return L>R ? L+1 :R+1;
}
}
const int MAXSIZE=100;
BTNode * Q[MAXSIZE];
int front=0;
int rear=0;
void VisitByLayer(BTNode *T)//层次遍历二叉树
{
BTNode *s=NULL;
if(NULL != T)
{
Q[rear] = T;
rear=(rear+1)%MAXSIZE;
while(front != rear)
{
s=Q[front];
front=(front+1)%MAXSIZE;
printf("%c\t",s->data);
if(NULL != s->lchild)
{
Q[rear]=s->lchild;
rear=(rear+1)%MAXSIZE;
}
if(NULL != s->rchild)
{
Q[rear]=s->rchild;
rear=(rear+1)%MAXSIZE;
}
}
}
}
相关文章推荐
- (C语言)二叉树层次遍历(数据结构十六)
- C语言创建二叉树数据结构, 以及各种遍历
- 数据结构 c语言实现 二叉树的层次遍历(linux下实现)
- 数据结构_二叉树的先序建立与先序,中序,后序(递归)遍历方式_C语言源代码
- (C语言)二叉树层次遍历(数据结构十六)
- 采用队列数据结构按层次遍历二叉树
- 实现二叉树的先序遍历、中序遍历、后序遍历的递归非递归算法以及层次遍历算法
- 二叉树建立 以及 bfs层次遍历
- 二叉树的递归遍历以及层次遍历
- 数据结构-----层次遍历二叉树算法(利用队列实现)
- (C语言)二叉树非递归遍历前序和中序(数据结构十四)
- 数据结构——二叉树的遍历问题(C语言)
- 【数据结构】二叉树的层次遍历
- 查找二叉树的基本操作以及层次遍历
- 二叉树的建立、遍历、深度、高度及层次遍历
- 二叉树的递归遍历非递归遍历以及其他二叉树的相关操作实现(数据结构)
- (C语言)二叉树非递归遍历前序和中序(数据结构十四)
- 输入一组整数后用c语言数据结构对其进行大小比较以二叉树存储、遍历
- 数据结构--二叉树--层次遍历二叉树(链式遍历--队列)
- 查找二叉树的基本操作以及层次遍历