二叉树的遍历(前、中、后序)
来源:互联网 发布:js多图上传前本地预览 编辑:程序博客网 时间:2024/05/14 03:54
最近在看一本名为大话数据的课程记录书,书中详述了二叉树前、中、后序的遍历,在此记录一下。
二叉树示例:
前序遍历:
//先来看前序遍历算法
void preOrderTraverse(BiTree T){
if(T == null){
return;
}
system.out.println(T->data);//输出显示当前树单元的数据
preOrderTraverse(T->lchild);//访问当前数据单元的左孩子
preOrderTraverse(T->rchild);//访问当前数据单元的右孩子
}
根据程序能看出,先写出当前树的值然后调用自身访问左孩子,左孩子没有的时候返回再访问右孩子。
则前序遍历结果为:A -> B -> D -> H -> K -> E -> C -> F -> I -> G -> J
中序遍历:
//先来看中序遍历算法
void preOrderTraverse(BiTree T){
if(T == null){
return;
}
preOrderTraverse(T->lchild);//访问当前数据单元的左孩子
system.out.println(T->data);//输出显示当前树单元的数据
preOrderTraverse(T->rchild);//访问当前数据单元的右孩子
}
根据程序能看出,先调用自身访问左孩子,左孩子没有的时候返回输出当前树单元再访问右孩子。
则前序遍历结果为:H -> K -> D -> B -> E -> A -> I -> F -> C -> G -> J
后序遍历:
//先来看后序遍历算法
void preOrderTraverse(BiTree T){
if(T == null){
return;
}
preOrderTraverse(T->lchild);//访问当前数据单元的左孩子
preOrderTraverse(T->rchild);//访问当前数据单元的右孩子
system.out.println(T->data);//输出显示当前树单元的数据
}
根据程序能看出,先调用自身访问左孩子,左孩子没有的时候返回再访问右孩子右孩子没有再访问输出当前树单元。
则前序遍历结果为:K -> H -> D -> E -> B -> I -> F -> J -> G -> C -> A
- 二叉树的遍历(前、中、后序)
- 二叉树的遍历(前序遍历、中序遍历、后序遍历)
- 二叉树的前序遍历,中序遍历和后序遍历(c#)
- 二叉树的遍历,二叉树的创建、前序遍历、中序遍历、后序遍历 (转)
- 二叉树的前序、中序、后序遍历
- 二叉树的遍历(前序,中序,后序)
- 二叉树的遍历:前序、中序、后序
- 二叉树的前序、中序、后序遍历
- 二叉树的前序、中序、后序遍历
- 二叉树的前序,中序,后序遍历
- 二叉树的前序、中序、后序遍历
- 二叉树的前序,中序,后序遍历
- 二叉树的前序、中序、后序遍历
- 二叉树的前序、中序、后序遍历
- 二叉树的前序、中序、后序遍历
- 二叉树的前序,中序,后序遍历
- 二叉树的前序,中序,后序遍历
- 二叉树的前序、中序、后序遍历
- Flink架构、原理与部署测试
- c++初级 之 c++的多态性
- 一个简单的html编写的登录界面
- 前端如何从服务器获取数据并显示
- FDSGFDGF
- 二叉树的遍历(前、中、后序)
- 一份react-native面试题
- Ubuntu17.04双系统的安装笔记(win7下)
- 先学会这些java所谓的基础
- PHP TP3.2 验证码的示例
- 全志H3-NanoPi开发板SDK之一总体概述
- 1065. A+B and C (64bit) (20) 大数据溢出问题
- TIME_WAIT和CLOSE_WAIT
- zcmu-1201