二叉树的遍历
二叉树的遍历
口诀:
-
前序遍历:根左右
-
中序遍历:左根右
-
后序遍历:左右根
前序遍历:ABDEGCF
中序遍历:DBGEACF
后序遍历:DGEBFCA
经常会遇到给出其中两个遍历顺序求出另一个顺序题?
解题思路:
(1)前序遍历第一个节点为根节点
(2)中序遍历特性中间为根,左侧为左子树,右侧为右子树
(3)后序遍历最后一个节点为根节点
比如:
前序:ABDEC
中序:DBEAC
求后序?
解:
第一步:根据前序遍历第一个节点为根节点得知,A为根
第二步:根据中序DBEAC得知,A前面的是左子树,说明 DBE在 A左侧,C在右侧,目前可以得出AC的位置
第三步:根据剩下的前序 BDEC 得知,B为根
第四步:根据剩下的中序 DBE 得知,D在B左侧,E在B右侧,所以可以画出整个二叉树图
第五步:输出后序遍历结果,DEBCA
方法就是参考前中后序遍历特性,依次类推,循环查找下去
欢迎关注,谢谢!
刚开始写微信公众号,请多多关注,欢迎,多谢!
微信公众号:《Java学习积累》
请关注一下,多谢!!!