二叉树遍历分为三种:前序、中序、后序,其中序遍历最为重要,若给定中序遍历,再加上前序或者后续遍历其中一个就能唯一确定一颗二叉树。
A:根节点、B:左节点、C:右节点
二叉树遍历:根据根节点的排列顺序可分前中后,因此就有前序遍历,中序遍历和后续遍历
如下二叉树,我们来看其遍历流程。二叉树遍历的意思就是对这棵树的每个节点按照按照一定的规则来查找或搜索。
中序遍历(左根右):每一个节点遵循左根右的规则,
1、对于A节点采用左根右规则,分为3个左节点(顺序待定)、根节点A和5个右节点(顺序待定),因此有_ _ _A_ _ _ _ _,“ _”表示顺序不确定。
2、再遍历到左B节点,对于B节点采用左根右的规则,B节点有右节点C,因此有B_ _,
3、再遍历到C,左根右有DC,因此根节点A的左边为BDC.
4、再遍历到A节点的右节点E,有E_ _ _ _,
5、按序就遍历到了E的右节点F,对F左根右遍历有_ _ _F,
6、F有左节点,按序就遍历到了到了G节点,对G节点左根右就得到了HGK(节点HK没有子节点),所以F前面的顺序为HGK,
7、根节点A右边节点的顺序为EHGKF,
中序遍历为:BDCAEHGKF.
中序遍历,对每一个节点采取左根右的方法遍历
遍历节点: 顺序:
A _ _ _A_ _ _ _ _
B B_ _ A_ _ _ _ _
C BDC A_ _ _ _ _
E BDC A E _ _ _ _
F BDC A E _ _ _ F
G BDC A E_G_ F
H BDC A EHG_ F
K BDC A EHGKF
前序遍历:对每一个节点采取根左右的方法遍历;
遍历节点:顺序:
A _ _ _ _ _ _ _ _ A
B A B _ _ _ _ _ _ _
C A B C _ _ _ _ _ _
D A B C D _ _ _ _ _
E A B C D E _ _ _ _
F A B C D E F _ _ _
G A B C D E F G _ _
H A B C D E F G H _
K A B C D E F G H K
后序遍历:对每一个节点采取左右根的方法遍历。
遍历节点:顺序:
A _ _ _ _ _ _ _ _ A
B _ _ B _ _ _ _ _ A
C _ C B _ _ _ _ _ A
D D C B _ _ _ _ _ A
E D C B _ _ _ _ E A
F D C B _ _ _ F E A
G D C B _ _ G F E A
H D C B H K G F E A
总结:遍历的顺序永远都是先左子树后右子树,由子节点的遍历顺序才有前中后序之分。每每遍历到一个节点可标出该节点的位置。