前言
在《什么是二叉树》中,我们介绍了二叉树的创建(插入),查找和删除,本文将介绍二叉树的遍历。而二叉树遍历有多种形式,他们也可以应用在不同的场景中,常见的深度优先遍历方式有前序遍历,中序遍历,后序遍历,而不常用广度优先遍历方式有层次遍历。本文将会对以上遍历方式都进行介绍。
二叉树的遍历
常见遍历顺序有以下几种:
前序遍历,先检查节点值,然后递归遍历左子树和右子树
中序遍历,先遍历左子树,然后检查当前节点值,最后遍历右子树
后序遍历,先递归遍历左右子树,然后检查当前节点值
层次遍历,如名字所言,从第一层开始,一层一层往下遍历
以下图为例,我们一一介绍四种遍历方式。
前序遍历
输出当前节点值10,然后输出左子树,最后输出右子树;
对于其左子树来说,同样以这样的顺序,则先输出5,然后输出左子树4,最后输出右子树8;
对于其右子树,同样以这样的顺序,则先输出19,然后输出左子树13,最后输出右子树24;
最终得到前序遍历输出为:10,5,4,8,19,13,24。