上图遍历结果如下:
前序遍历(根左右):ABCDEFGHK
中序遍历(左根右) :BDCAEHGKF
后续遍历(左右根):DCBHKGFEA
以中序遍历为例:先遍历左子树,在遍历根节点,在遍历右子树。
上图中,A的左子树为
检查B的左子树为空,然后遍历根节点B,得到结果B,然后遍历B的右子树为
然后遍历C的左子树,得到结果BD,然后遍历根节点C,得到结果BDC,
然后遍历C的右子树为空,返回上一级,遍历根节点A,得到结果BDCA,
同理依次类推,遍历A的右子树,得到结果BDCAEHGKF
核心思想:<根左右>三个字中的根所在的位置,即遍历根的顺序即表明前序中序或后序遍历。
先遍历根,然后遍历左右子树即为前序;
先遍历左子树,中间遍历根,然后遍历右子树,即为中序;
先遍历左右子树,最后遍历根节点,即为后序遍历。