版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34536551/article/details/84067618
二叉树的遍历
● 是指从根节点出发, 按照某种次序依次访问二叉树中所有结点, 使得每个结点被访问一次且仅被访问一次。
● 二叉树的遍历方式很多,如果我们限制了从左到右的习惯方式,那么主要就分为四种:
(1 )前序遍历
规则是: 若二叉树为空,则空操作返回。 否则先访问根结点——然后前序遍历左子树; 当无法移动时,—— 在前序遍历右子树。
(2)中序遍历
规则是: 若二叉树为空,则空操作返回。中序遍历根结点的左子树,然后访问根结点,最后中序遍历右子树。
(3)中序遍历
规则是: 若二叉树为空,则空操作返回。否则就从左到右先叶子后结点的方式遍历访问左右子树,最后是访问根结点。
(4)层序遍历
规则是: 若二叉树为空,则空操作返回。 否则从树的第一层,也就是根结点开始访问, 从上而下逐层遍历,在同一层中, 按从左到右的顺序对结点逐个访问。如图所示,遍历的顺序是: ABCDEFGHI
二叉树遍历的两个性质:
已知前序遍历和中序遍历序列, 可以唯一确定一棵二叉树。
已知后序遍历序列和中序遍历序列, 可以唯一确定一棵二叉树。
注意: 已知前序遍历和后序遍历序列,是不能确定一棵二叉树的。