最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

【小白学算法】8.二叉树的遍历,前序、中序和后序

来源:懂视网 责编:小OO 时间:2024-10-14 12:07:31
文档

【小白学算法】8.二叉树的遍历,前序、中序和后序

二叉树的遍历,同样也是为了访问到树中的每个结点(仅一次)。不过,由于树的结构与之前的线性存储不同,从根结点开始,二叉树可以有多种的访问次序的选择。按照我们通常的从左到右的习惯,常见的遍历次序有3种:前序、中序、后续。一、什么是前序、中序、后序。为了方便说明,暂且我们把访问结点,就当做是打印输出这个结点信息。那么如何区分前中后,也正是根据输出的先后顺序来定的。前序遍历:先输出父节点,再遍历左子树,然后遍历右子树。中序遍历:先遍历左子树,再输出父节点,然后遍历右子树。后序遍历:先遍历左子树,再遍历右子树,最后输出父节点。如图所示的二叉树,它的前中后输出顺序分别就是。前序:1易大师、2寒冰射手、3盲僧、4盖伦。中序:2寒冰射手、1易大师、3盲僧、4盖伦。二、代码实现前、中、后序遍历。
推荐度:
导读二叉树的遍历,同样也是为了访问到树中的每个结点(仅一次)。不过,由于树的结构与之前的线性存储不同,从根结点开始,二叉树可以有多种的访问次序的选择。按照我们通常的从左到右的习惯,常见的遍历次序有3种:前序、中序、后续。一、什么是前序、中序、后序。为了方便说明,暂且我们把访问结点,就当做是打印输出这个结点信息。那么如何区分前中后,也正是根据输出的先后顺序来定的。前序遍历:先输出父节点,再遍历左子树,然后遍历右子树。中序遍历:先遍历左子树,再输出父节点,然后遍历右子树。后序遍历:先遍历左子树,再遍历右子树,最后输出父节点。如图所示的二叉树,它的前中后输出顺序分别就是。前序:1易大师、2寒冰射手、3盲僧、4盖伦。中序:2寒冰射手、1易大师、3盲僧、4盖伦。二、代码实现前、中、后序遍历。

二叉树的遍历,同样也是为了访问到树中的每个结点(仅一次)。不过,由于树的结构与之前的线性存储不同,从根结点开始,二叉树可以有多种的访问次序的选择。按照我们通常的从左到右的习惯,常见的遍历次序有3种:前序、中序、后续。

一、什么是前序、中序、后序

为了方便说明,暂且我们把访问结点,就当做是打印输出这个结点信息。那么如何区分前中后,也正是根据输出的先后顺序来定的。

前序遍历:先输出父节点,再遍历左子树,然后遍历右子树。

中序遍历:先遍历左子树,再输出父节点,然后遍历右子树。

后序遍历:先遍历左子树,再遍历右子树,最后输出父节点。

如图所示的二叉树,它的前中后输出顺序分别就是:

前序:1易大师、2寒冰射手、3盲僧、4盖伦

中序:2寒冰射手、1易大师、3盲僧、4盖伦

后序:2寒冰射手、4盖伦、3盲僧、1易大师

二、代码实现前、中、后序遍历

实现思路很简单:

1、创建英雄结点,在这里编写遍历方法。

2、创建二叉树,调用遍历方法。

3、main方法进行测试。

运行测试遍历顺序与上面预测的相符合。本章我们知道了遍历二叉树,那如果我要查找二叉树中某一个结点,前中后序这3种的查找思路又是怎样呢?

例题:

已知某二叉树的前序遍历为A-B-D-F-G-H-I-E-C,中序遍历为F-D-H-G-I-B-E-A-C,请还原这棵二叉树。

解题思路:

从前序遍历中,我们确定了根结点为A,在从中序遍历中得出F-D-H-G-I-B-E在根结点的左边,C在根结点的右边,那么我们就可以构建我们的二叉树的雏形。

那么剩下的前序遍历为B-D-F-G-H-I-E,中序遍历为F-D-H-G-I-B-E,B就是我们新的“根结点”,从中序遍历中得出F-D-H-G-I在B的左边,E在B的右边,继续构建。

那么剩下的前序遍历为D-F-G-H-I,中序遍历为F-D-H-G-I,D就是我们新的“根结点”,从中序遍历中得出F在D的左边,H-G-I在D的右边,继续构建。

那么剩下的前序遍历为G-H-I,中序遍历为H-G-I,G就是我们新的“根结点”,从中序遍历中得出H在G的左边,I在G的右边,继续构建。

文档

【小白学算法】8.二叉树的遍历,前序、中序和后序

二叉树的遍历,同样也是为了访问到树中的每个结点(仅一次)。不过,由于树的结构与之前的线性存储不同,从根结点开始,二叉树可以有多种的访问次序的选择。按照我们通常的从左到右的习惯,常见的遍历次序有3种:前序、中序、后续。一、什么是前序、中序、后序。为了方便说明,暂且我们把访问结点,就当做是打印输出这个结点信息。那么如何区分前中后,也正是根据输出的先后顺序来定的。前序遍历:先输出父节点,再遍历左子树,然后遍历右子树。中序遍历:先遍历左子树,再输出父节点,然后遍历右子树。后序遍历:先遍历左子树,再遍历右子树,最后输出父节点。如图所示的二叉树,它的前中后输出顺序分别就是。前序:1易大师、2寒冰射手、3盲僧、4盖伦。中序:2寒冰射手、1易大师、3盲僧、4盖伦。二、代码实现前、中、后序遍历。
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top