二叉树遍历方法有三种
规则:所访问的顺序
前序遍历:根左右
中序遍历:左根右
后序遍历:左右根
(简记:前中后指的是根的位置 比如后序遍历,则根在其左、右子树的后面,就是最后访问根)
(图片网上找的)
比如说后序遍历: 规则是左右根
由图看出,首先A是根,B、C是它的左右子树,
根据规则,先访问的是左子树B(此时因为B子树也有其自己的左右子树),
所以此时把B看为一个根节点,B的左右子树为D、E,(因D、E是叶子)
所以根据左右根规则,得出 D E B;(A的左子树遍历完成)
A的右子树开始遍历:
访问C,C此时看为一个根节点,C有左子树(暂不返回,继续往下访问),
访问F,F看为根节点,无左子树有右子树,G为叶子(根据左右根规则)
返回 G F ,C因为没有右子树,返回C,得到 G F C;(右子树遍历完成)
最后返回A。
得到 DEB(左) GFC(右) A(根)
所以 访问顺序是 DEBGFCA。
同理,中序、前序遍历也可以做出来
前序遍历:ABDECFG
中序遍历:DBEAFGC