二叉树的遍历和总结--C和C++
来源:互联网 发布:诚龙网络克隆教程 编辑:程序博客网 时间:2024/06/01 10:42
1.二叉树的建立以及前、中、后序遍历
struct BiTNode{ int data; BiTNode *lchild, *rchild;};//创建二叉树BiTNode *CreatTree(){ int date; BiTNode *T; scanf("%d", &date); if (date == 0) return NULL; else { T = (BiTNode*)malloc(sizeof(BiTNode)); T->data = date; T->lchild = CreatTree(); T->rchild = CreatTree(); } return T;}//前序遍历void PreOrderTraversing(BiTNode *T){ if (T) { printf("%d ", T->data); PreOrderTraversing(T->lchild); PreOrderTraversing(T->rchild); }}//中序遍历void MidOrderTraversing(BiTNode *T){ if (T) { MidOrderTraversing(T->lchild); printf("%d ", T->data); MidOrderTraversing(T->rchild); }}//后续遍历void LastOrderTraversing(BiTNode *T){ if (T) { LastOrderTraversing(T->lchild); LastOrderTraversing(T->rchild); printf("%d ", T->data); }}
代码解析:
前序遍历:若二叉树为空,则空操作返回,否则先访问根节点,然后前序遍历左子树再前序遍历右子树。ABCDEGF
中序遍历:若二叉树为空,则空操作返回,否则从根节点开始(并不是先访问根节点),中序遍历根节点的左子树,然后访问根节点,最后中序遍历右子树。CBEGDFA
后续遍历:若二叉树为空,则空操作返回,否则从左到右先叶子后节点的方式访问左右子树,最后访问根节点。CGEFDBA
0 0
- 二叉树的遍历和总结--C和C++
- C语言 二叉树的结构和遍历算法
- C语言二叉树的遍历,递归和非递归
- 二叉树的建立和遍历程序代码(Java,C)
- C实现二叉树的建立和遍历
- 二叉树的前序遍历,中序遍历和后序遍历(c#)
- 二叉树深度优先遍历和广度优先遍历【C++】
- 数据结构的C实现_二叉树的非递归遍历和层序遍历
- c原生实现二叉树的构建和 非递归遍历二叉树的方法
- C语言实现二叉树的递归遍历和非递归遍历
- C语言进行二叉树的递归遍历和非递归遍历
- 用c语言编程实现二叉树的建立和遍历二叉树
- 二叉树 二叉树的性质 存储结构 遍历二叉树 C实现二叉树的创建和遍历 线索二叉树
- 二叉树 二叉树的性质 存储结构 遍历二叉树 C实现二叉树的创建和遍历 线索二叉树
- 根据二叉树的前序遍历和中序遍历构建二叉树的c语言完整代码
- 3.14(c程序实现)已知二叉树的前序遍历和中序遍历,求后序遍历
- C预言的二叉树的创建和三种遍历方式
- C语言 二叉树的遍历 递归和(多种)非递归算法
- jQuery效果之tab选项卡及jQuery插件开发
- 【摘记】URI 编码和解码
- JTA集成JOTM或Atomikos配置分布式事务(Tomcat应用服务器)
- 有关二叉树的三种遍历方式------先序,中序,后序
- 树莓派外接USB摄像头系列一
- 二叉树的遍历和总结--C和C++
- 分享一个塞车游戏的源码吧,3D的
- R语言知识体系概览
- iOS 读取.strings 文件
- Android总结篇系列:Android广播机制
- 事务的四个特性:ACID
- R语言知识体系概览
- Oracle级联递归查询
- Hibernate内置的持久化标识符生成器