转载地址:https://www.cnblogs.com/turnips/p/5096578.html
如图所示二叉树:
前中后是针对于根节点而言的。
跟结点最先被访问即为前序遍历;
根节点在左右子结点之间被访问,即为中序遍历;
根节点最后被访问,即为后序遍历。
对于每一棵子树而言,遍历时也需要按照所指定的遍历规则进行遍历,是一种递归的遍历方式。
- 前序遍历:
记为根左右,若二叉树为空,则结束返回。
前序遍历的规则:
- 访问根节点
- 前序遍历左子树
- 前序遍历右子树
注意:在完成第2,3步的时候,也是要按照前序遍历二叉树的规则完成。
前序遍历的输出结果:ABDECF
- 中序遍历:
记为左根右,也就是说在二叉树的遍历过程中,首先要遍历二叉树的左子树,接着遍历根节点,最后遍历右子树。
同样,在二叉树为空的时候,结束返回。
中序遍历的规则:
- 中序遍历左子树
- 访问根节点
- 中序遍历右子树
注意:在完成第1,3步的时候,要按照中序遍历的规则来完成。
中序遍历的输出结果:DBEAFC
- 后序遍历:
在二叉树为空的时候,结束返回。
后序遍历二叉树的规则:
- 后序遍历左子树
- 后序遍历右子树
- 访问根节点
注意:在完成1,2步的时候,依然要按照后序遍历的规则来完成。
后序遍历的输出顺序:DEBFCA