遍历二叉树:
二叉树的遍历是指从根结点出发,按照某种次序访问二叉树中所有结点,使得每个结点被访问一次且仅被访问一次.
这里有两个关键词 :访问和次序
树的结点不存在唯一的前驱和后继关系,在访问一个结点后,下一个被访问的结点面临着不同的选择。
1.前序遍历
规则是若二叉树为空,则空操作返回,否则先访问根结点,然后前序遍历左子树,再前序遍历右子树。如下图所示,便利顺序为ABDGHCEIF
2.中序遍历
规则是若树为空,则空操作返回,否则从根结点(不是先访问根结点)开始,中序遍历根结点的左子树,然后是访问根结点,最后中序遍历右子树。如下图的便利顺序:GDHBAEICF
3.后序遍历
规则是若树为空,则空操作返回,否则从左到右先叶子后结点的方式遍历访问左右子树,最后是访问根结点。如下图遍历的顺序为:GHDBIEFCA
4.层序遍历
规则是若树为空,则空操作返回,否则从树的第一层,也就是根结点开始访问,从上而下逐层遍历,在同一层中,按从左到右的顺序对结点逐个访问。
如下图所示的遍历顺序为:ABCDEFGHI