中序和后续完全懵。。。

来源:7-16 树的遍历

慕尼黑7895541

2019-06-30

中序 感觉是DBEGACF

后续 感觉是EDGBFCA,不知道怎么理解

写回答

1回答

ccmouse

2019-07-07

我们先不用管如何实现,先看结果应该是什么。

中序遍历的问题在于图中E->G这两个节点。

//img.mukewang.com/szimg/5d219bd000013af702600278.jpg

二叉树是分左右的,这是关键。G是E的  节点。我们中序遍历这两个节点是怎么样的呢?先左,然后根,然后右,所以这个子树的中序遍历GE。

那么合起来

//img.mukewang.com/szimg/5d219d060001bbce04140460.jpg

这个子树的左子树是D,根是B,右子树是上述E和G两个节点,上面已经分析了这个右子树的中序遍历是GE,那么合起来,这个子树的中序遍历就是DBGE。

在看整棵树的右子树C->F

//img.mukewang.com/szimg/5d219db00001970302820338.jpg

F是C的 节点,中序遍历左,中,右的顺序,所以是CF。

那么整棵树合起来,就是DBGEACF

我们也可以用同样的方法来理解一下后序遍历,先后序遍历左子树,再后序遍历右子树,再遍历根节点,应该是:DGEBFCA

3
0

Google面试官亲授-Java面试新手尊享课

为面试新手量身定制的Java面试尊享课,解锁“鲤鱼跃龙门”的妙招

2853 学习 · 180 问题

查看课程