二叉树遍历问题(前序,中序,后序)
a
/ \
b c
/\ /
e f g
思想方法
首先,二叉树的先序遍历:中,左,右;中序:左,中,右;后序:左,右,中。
因肆并此,用此方孝雹核法进行推算:
先序为:a,b,e,f,c,g;
中序为:e,b,f,a,g,c,;
后序为:e,f,b,g,c,a,.
思巧掘路就按中左右,左中右,左右中去按图推啊
前序:先根节点,然后【前序】遍历左子树,最后【前序】遍历右子树;(abefcfg)
中序:先【中序】遍历左子树游行羡,再是根节点,最后【中序】遍历右子树(ebfafgc)
后序:先【后神拍序】遍历左子树,再【后序】遍历右子树,最带余后是根节点(efbfgca)
先:根 左 右
中:左 根 右
后:左 右 根
前序遍历(DLR)
前序遍历也叫做先根遍历,可记做根左右。
前序遍历首先访问根结点然后遍历左子树,最后遍历右子树。在遍历左、右子树时,仍然先访问根结点,然后遍历左子树,最后遍历右子树。
若二叉树为空则结束返回,否则:
(1)访问根结点
(2)前序遍历左子树
(3)前序遍历右子树
注意的是:遍历左右子树时仍然采用前序遍历方法。
中序遍历(LDR)
中序遍历也叫做中根遍历,可记做左根右。
中序遍历首先遍历左子树,然后哗厅纳访问根结点,最后遍历右子树。在遍历左、右子树时,仍然先遍历左子树,再访乱没问根结点,最后遍历右子树。即:
若二叉树为空则结束返回,否则:
(1)中序遍历左子树
(2)访问根结点
(3)中序遍历右子树。
注意的是:遍历左右子树时仍然采用中序遍历方法。
后序遍历(LRD)
后序遍历也叫做后根遍历,可记做左右根。
后序遍历首先遍历左子树,然后遍历右子树,最后访问根结点。在遍历左、右子树时,仍然先遍历左子树,再遍历右子树,最后访问根结点。即:
若二叉树为空则结束返回,否则:
(1)后序遍历左子树。
(2)后序遍历右子树。
(3)访问根结点。
注意的伏指是:遍历左右子树时仍然采用后序遍历方法。
如上图所示二叉树
前序遍历,也叫先根遍历,遍历的顺序是,根,左子树,右子树
遍历结果:a,b,e,f,c,g
中序遍历,也叫中根遍历,顺序是 左子树,根,右子树
遍历结果:e,b,f,a,g,c
后序遍历,也叫后根遍历,遍历顺序,左子树,右子树,根
遍历结果:e,f,b,g,c,a