遍历二叉树(前序、中序、后序、层序)
来源:互联网 发布:java发送内嵌图片邮件 编辑:程序博客网 时间:2024/06/05 23:56
1、前序遍历
若二叉树为空,则返回空,否则先访问根节点,然后访问左子树,然后是右子树(根->左->右),如图所示,遍历顺序为:ABDGHCEIF。
/*二叉树的前序遍历递归算法*/
void PreOrderTraverse(BiTree T){
if(T==NULL)
return;
printf("%c",T->data);
PreOrderTraverse(T->lchild);/*先遍历左子树*/
PreOrderTraverse(T->fchild);/*最后遍历右子树*/
}
1、中序遍历
若二叉树为空,则返回空,否则先访问左子树,然后访问根节点,然后是右子树(左->根->右),如图所示,遍历顺序为:GDHBAEICF。
void InOrderTraverse(BiTree T){
if(T==NULL)
return;
InOrderTraverse(T->lchild);/*先遍历左子树*/
printf("%c",T->data);
InOrderTraverse(T->fchild);/*最后遍历右子树*/
}
1、后序遍历
若二叉树为空,则返回空,否则先访问左子树,然后访问右子树,然后是根节点(左->右->根),如图所示,遍历顺序为:GHDBIEFCA。
void PostOrderTraverse(BiTree T){
if(T==NULL)
return;
PostOrderTraverse(T->lchild);/*先遍历左子树*/
PostOrderTraverse(T->fchild);/*再遍历右子树*/
printf("%c",T->data);
}
1、层序遍历
若二叉树为空,则返回空,否则先访问根节点,然后从上而下逐层遍历,在同一层中,从左到右对结点逐个访问,如图所示,遍历顺序为:ABCDEFGHI。
- 完全二叉树/ 满二叉树/二叉树遍历(前序、中序、后序、层序遍历)
- C++实现二叉树 前序遍历, 后序遍历, 中序遍历, 层序遍历(不用递归)
- 二叉树的前/中/后/层序遍历(前/中/后序递归实现,层序队列实现)
- 遍历二叉树(前序、中序、后序、层序)
- 遍历二叉树(四种方式:前序、中序、后序、层序)
- C++实现二叉树的非递归遍历(层,前,中,后序)
- C# 二叉树的非递归中序 前序 后序遍历 层序遍历
- 二叉树创建及其遍历:前序、中序、后序、层序遍历等
- 二叉树的创建、前/中/后序遍历、按层遍历C语言实现
- 二叉树 前 后 中序遍历, 按层遍历, 求高度, 交换左右儿子等
- python实现二叉树的前、中、后序遍历及按层遍历
- 数据结构之二叉树的前序遍历、中序遍历、后序遍历、层序遍历
- 20170816_二叉树的建立+前序遍历+中序遍历+后序遍历+层序遍历
- 二叉树的四种遍历方式 (前序,中序,后序,层序遍历 python实现)
- 二叉树的前、中、后序遍历(递归和非递归)、层序遍历、深度、叶子节点个数
- 二叉树的,前/中/后序的遍历( 递归,非递归),层序遍历,以及各种应用功能
- 二叉树遍历(前序,中序,后序)
- 二叉树的遍历:前序、中序、后序、层序的非递归实现
- SAP 标准教材和自学方法
- 下来刷新的Scrollview
- C程序优化之路(三)
- 求一个值是否是一个给定有序数组中两个元素的和
- poj 4018 High security
- 遍历二叉树(前序、中序、后序、层序)
- Hadoop DataNode启动之offferService
- Eclipse安装Perl插件
- Android中以数据流的形式获取assets文件夹中文件的内容
- Android 上成功实现了蓝牙的一些Profile
- DAPM之一:概述
- rsync: failed to connect to X.X.X.X: No route to host (113)
- 面试题:链表的复制
- WPF控件NumericUpDown-自定义微调控件