先声明一下,二叉树我种了好久都没有种出来,这只是他的一点儿相关知识而已
前序
首先访问根结点然后遍历左子树,最后遍历右子树。在遍历左、右子树时,仍然先访问根结点,然后遍历左子树,最后遍历右子树,如果二叉树为空则返回。
例如,下图所示二叉树的遍历结果是:ABDECF
中序
中序遍历左子树。
(2)访问根结点。
(3)中序遍历右子树。
注意的是:遍历左右子树时仍然采用中序遍历方法。
即左子树(B D E)还是左边开始(D),然后是(B),再是右边(E),完后经过(A),接着右子树(C F) 还是左边开始(F),再是中间(C),
即顺序是DBEAFC
后序算法描述: A
(1)若二叉树为空,结束 B C
(2)后序遍历左子树 D E F
(3)后序遍历右子树
(4)访问根结点 B C 为A的子叶,D E为B的子叶,F为C的子叶
遍历结果:DEBFCA
二叉树的遍历:
遍历的顺序:前序,中序,后序。
遍历的实现:
前序
首先访问根结点然后遍历左子树,最后遍历右子树。在遍历左、右子树时,仍然先访问根结点,然后遍历左子树,最后遍历右子树,如果二叉树为空则返回。
例如,下图所示二叉树的遍历结果是:ABDECF
中序
中序遍历左子树。
(2)访问根结点。
(3)中序遍历右子树。
注意的是:遍历左右子树时仍然采用中序遍历方法。
即左子树(B D E)还是左边开始(D),然后是(B),再是右边(E),完后经过(A),接着右子树(C F) 还是左边开始(F),再是中间(C),
即顺序是DBEAFC
后序算法描述: A
(1)若二叉树为空,结束 B C
(2)后序遍历左子树 D E F
(3)后序遍历右子树
(4)访问根结点 B C 为A的子叶,D E为B的子叶,F为C的子叶
遍历结果:DEBFCA
二叉树的遍历:
遍历的顺序:前序,中序,后序。
遍历的实现: