按层次顺序(同一层自左至右)遍历二叉树的算法
来源:互联网 发布:centos 6.5 squid 编辑:程序博客网 时间:2024/05/17 04:49
编写按层次顺序(同一层自左至右)遍历二叉树的算法。
二叉链表类型定义:
typedef char TElemType; // 设二叉树的元素为char类型typedef struct BiTNode { TElemType data; BiTNode *lchild, *rchild;} BiTNode, *BiTree;可用队列类型Queue的相关定义:
typedef BiTree QElemType; // 设队列元素为二叉树的指针类型Status InitQueue(Queue &Q);Status EnQueue(Queue &Q, QElemType e);Status DeQueue(Queue &Q, QElemType &e);Status GetHead(Queue Q, QElemType &e);Status QueueEmpty(Queue Q);提示:可将遍历元素的值(字符)依次置入ss,并最后以'\0'结尾。
也可以用下列字符串函数产生ss:
int sprintf(char *buffer, char *format [, argument, ...]);char *strcat(char *dest, char *src);实现函数如下:
void LevelOrder(BiTree bt, char *ss)/* travel BiTree bt by level, Return result by ss. */{ int i; BiTree p; Queue Q; InitQueue(Q); if(bt){ EnQueue(Q,bt); while(!QueueEmpty(Q)){ DeQueue(Q,p); ss[i++] = p -> data;//将二叉树中的元素依次存进ss if(p -> lchild){ EnQueue(Q,p -> lchild); } if(p -> rchild){ EnQueue(Q,p -> rchild); } } ss[i] = '\0'; }}
0 0
- 按层次顺序(同一层自左至右)遍历二叉树的算法
- 按层次顺序(同一层自左至右)遍历二…
- 按层打印二叉树的节点【层次遍历变形】
- 二叉树的层次遍历的算法
- 二叉树的层次遍历算法
- 按层次遍历二叉树算法
- 按层次遍历二叉树算法
- 编写按层次遍历二叉树的算法
- 二叉树的遍历-按层次遍历
- [二叉树] 层次遍历算法
- 二叉树层次遍历算法
- 数据结构与算法简记:按层次顺序遍历和存储二叉树
- 按之字形顺序打印二叉树(二叉树的层次遍历)
- 二叉树的层次遍历+每一层单行输出
- 数据结构--二叉树--层次遍历二叉树(顺序遍历)
- 二叉树的层序遍历算法
- 数据结构与算法系列-树-二叉树的遍历(按层次遍历)
- 二叉树及按层遍历的算法实现
- Python实现快速排序
- Mongoose源码分析
- 时间格式的处理
- usaco 5.1.2 Snail Trails
- 不准守规范导致的系统故障
- 按层次顺序(同一层自左至右)遍历二叉树的算法
- linux下apache https 虚拟主机配置
- C Primer Plus第一章学习心得
- Windows XP + Oracle 10g 完全卸载
- js验证日期格式
- 价值连城的macd战法
- [Jsp] 前 Jsp 笔记我也不清楚,留着吧
- 程序员生存定律--编程的起点与可能的失足
- 《Python核心编程》第5章 习题