二叉树的遍历


二叉树定义


  n个结点的有限集合,或者是空树,或者是由一个结点及两个不想交的且分别成为左、右子树的二叉树所组成。


二叉树的三种遍历


我们用两种方法来学会二叉树的遍历

【首先第一种:】

先记住以下口诀
   前序遍历:根、左、右 
   中序遍历:左、根、右 
   后序遍历:左、右、根
   
以下图(摘自百度)解释一下:

这里写图片描述

前序遍历:
1、遍历根结点,再遍历左子树(结点),再遍历右子树(结点)。
2、遍历左子树步骤同1
3、遍历右子树步骤同1
所以这棵二叉树前序遍历完的顺序是这样的:A B D G C E F H

这里写图片描述

中序遍历:
1、遍历左子树(结点),再遍历根结点,最后遍历右子树(结点)
2、遍历左子树步骤同1
3、遍历右子树步骤同1

所以这棵二叉树中序遍历完的顺序是这样的:D G B A E C H F

这里写图片描述

后序遍历:
1、先遍历左子树(结点),再遍历右子树(结点),最后遍历根结点。
2、遍历左子树步骤同1
3、遍历右子树步骤同1

所以这个二叉树中序遍历完的顺序是这样的:G D B E H F C A

这里写图片描述

如果上一种想不起来了还有一种
【第二种:】
看图(摘自百度)
这里写图片描述

从根结点出发,逆时针沿着二叉树外缘移动,每个结点都有三次进出。第一次进入结点时进行访问就是先序遍历;第二次进入结点时进行访问就是中序遍历;第三次进入结点时进行访问就是后序遍历
这样有没有更好记一点呢。

有不准确的地方,欢迎和小编探讨。

猜你喜欢

转载自blog.csdn.net/syx8821/article/details/80029766