河池学院:《数据结构》课程电子教案(PPT教学课件)第7章 树和二叉树 7.3 二叉树先序、中序和后序遍历

二叉树遍历是指按照一定次序访问二叉树中所有结点,并且每个结点仅 被访问一次的过程。 设N为根结点,L、R分别为左、右子树,这6种遍历方法是NLR、LNR、 LRN、NRL、RNL、RLN),若再规定先遍历左子树,后遍历右子树,则对 于非空二叉树,可得到如下3种递归的遍历方法(即NLR、LNR和LRN)。 N L R 1/49

1)先序遍历 ① 访问根结点。 ② 先序遍历左子树。 ③ 先序遍历右子树。 A B C D E F G 先序序列为:ABDGCEF 说明 在一棵二叉树的先序序列中,第一个元素即为根结 点对应的结点值。 2/49

2)中序遍历 ① 中序遍历左子树。 ② 访问根结点。 ③ 中序遍历右子树。 A B C D E F G 中序序列为:DGBAECF。 说明 在一棵二叉树的中序序列中,根结点值将其序列分为前后两部 分,前部分为左子树的中序序列,后部分为右子树的中序序列。 3/49

3)后序遍历 ① 后序遍历左子树。 ② 后序遍历右子树。 ③ 访问根结点。 A B C D E F G 后序序列为:GDBEFCA。 说明 在一棵二叉树的后序序列中,最后一个元素即为根 结点对应的结点值。 4/49

1)先序遍历的递归算法 public void PreOrder1(BTreeClass bt) //先序遍历的递归算法 { PreOrder11(bt.b); } private void PreOrder11(BTNode t) //被PreOrder1方法调用 { if (t!=null) { System.out.print(t.data+ " "); //访问根结点 PreOrder11(t.lchild); //先序遍历左子树 PreOrder11(t.rchild); //先序遍历右子树 } } 5/49

A B C D E F G A B C D E F G PreOrder11 6/49

2)中序遍历的递归算法 public void InOrder1(BTreeClass bt) //中序遍历的递归算法 { InOrder11(bt.b); } private void InOrder11(BTNode t) //被InOrder1方法调用 { if (t!=null) { InOrder11(t.lchild); //中序遍历左子树 System.out.print(t.data+ " "); //访问根结点 InOrder11(t.rchild); //中序遍历右子树 } } 7/49

A B C D E F G InOrder11 A B C D E F G 8/49

3)后序遍历的递归算法 public void PostOrder1(BTreeClass bt) //后序遍历的递归算法 { PostOrder11(bt.b); } private void PostOrder11(BTNode t) //被PostOrder1方法调用 { if (t!=null) { PostOrder11(t.lchild); //后序遍历左子树 PostOrder11(t.rchild); //后序遍历右子树 System.out.print(t.data+ " "); //访问根结点 } } 9/49

A B C D E F G PostOrder11 A B C D E F G 10/49
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第7章 树和二叉树 7.2 二叉树.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第7章 树和二叉树 7.1 树.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第6章 数组和稀疏矩阵.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第5章 递归.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第4章 串.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第3章 栈和队列 3.2 队列.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第3章 栈和队列 3.1 栈.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第2章 线性表 2.5 线性表的应用.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第2章 线性表 2.3 线性表的链式存储结构 2.4 顺序表和链表的比较.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第2章 线性表 2.1 线性表的定义 2.2 线性表的顺序存储结构.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第1章 绪论 1.3 算法分析 1.4 数据结构的目标.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第1章 绪论 1.1 什么是数据结构 1.2算法及其描述.pptx
- 《Java基础入门》课程电子教案(PPT教学课件)第13章 网络编程.pptx
- 《Java基础入门》课程电子教案(PPT教学课件)第12章 多线程.pptx
- 《Java基础入门》课程电子教案(PPT教学课件)第11章 JDBC.pptx
- 《Java基础入门》课程电子教案(PPT教学课件)第10章 IO.pptx
- 《Java基础入门》课程电子教案(PPT教学课件)第9章 反射机制.pptx
- 《Java基础入门》课程电子教案(PPT教学课件)第8章 泛型.pptx
- 《Java基础入门》课程电子教案(PPT教学课件)第7章 集合.pptx
- 《Java基础入门》课程电子教案(PPT教学课件)第6章 Java API.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第7章 树和二叉树 7.4 二叉树的层次遍历 7.5 二叉树的构造.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第7章 树和二叉树 7.6 线索二叉树 7.7 哈夫曼树 7.8 二叉树与树、森林之间的转换.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第7章 树和二叉树 7.9 树算法设计和并查集.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第8章 图 8.1 图的基本概念 8.2 图的存储结构.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第8章 图 8.3 图的遍历.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第8章 图 8.4 生成树和最小生成树.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第8章 图 8.5 最短路径.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第8章 图 8.6 拓扑排序 8.7 AOE网与关键路径.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第9章 查找 9.1 查找的基本概念 9.2 线性表的查找.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第9章 查找 9.3 树表的查找(1/2).pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第9章 查找 9.3 树表的查找(2/2).pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第9章 查找 9.4 哈希表查找.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第10章 排序 10.1 排序的基本概念 10.2 插入排序 10.3 交换排序.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第10章 排序 10.4 选择排序.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第10章 排序 10.5 归并排序 10.6 基数排序 10.7 各种内排序方法的比较和选择.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第10章 排序 10.8 外排序.pptx
- 《Python数据分析》课程电子教案(PPT课件)第1章 数据分析与可视化概述新.pptx
- 《Python数据分析》课程电子教案(PPT课件)第2章 Python编程基础.pptx
- 《Python数据分析》课程电子教案(PPT课件)第3章 NumPy数值计算基础.pptx
- 《Python数据分析》课程电子教案(PPT课件)第4章 pandas统计分析基础.pptx
