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

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

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

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

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

先序、中序和后序遍历递归算法7.3.21)先序遍历的递归算法//先序遍历的递归算法public void PreOrderi(BTreeclass bt)(Preorder11(bt.b);7//被Preorder1方法调用private void Preorder1i(BTNode t)(if(t!=null)//访问根结点{System.out.print(t.data+"");//先序遍历左子树Preorder11(t.lchild);//先序遍历右子树Preorder1i(t.rchild);5/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

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

2)中序遍历的递归算法1/中序遍历的递归算法public void Inorder(BTreeclass bt)tInorder11(bt.b);//被InOrder1方法调用private void InOrder1i(BTNodet){if(t!=null)1/中序遍历左子树Inorder1i(t.lchild);System.out.print(t.data+ " ");1/访问根结点1/中序遍历右子树Inorder1i(t.rchild);7/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

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

3)后序遍历的递归算法1/后序遍历的递归算法public void Postorder1(BTreeclass bt)tPostorder11(bt.b);?//被Postorder1方法调用privatevoid Postorder11(BTNodet){if(t!=null)1/后序遍历左子树Postorder11(t.lchild);1/后序遍历右子树Postorder11(t.rchild);1/访问根结点System.out.print(t.data+"");9/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

PostOrder1110/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
