全部问题 > 当前问题

为什么不是ABDEYCFXB,E和Y的位置问题

缘意 2015-8-19 09:16:00

共 7 个回答

浅蓝色 2015-8-19 09:26:01

中左右,A是中,B就是左,C是右

然后A下面的左子树也要遵循中左右:那就是B是中,D是左,E是右

最后B下面的左子树也要遵循中左右:那就是D是中,没有左,Y是右

始终都要遵循中左右

                          

缘意 2015-8-19 09:31:49

哦,知道了,谢谢

狄艳 2015-8-19 09:31:50

前序应始终保持中左右的原则,只有当ABDY这列全部罗列出,才能对E这列进行罗列。

所以A为中;B为左,也是中;D为左;Y为中;再往下没有节点,开始E这列,依次往下推,就可以得出答案了。

缘意 2015-8-19 09:35:57

回复 浅蓝色:那不应该也是先把A下面的左子树按照左中右先算进去吗,那不就是ABDE然后是Y

浅蓝色 2015-8-19 09:41:35

blob.png你看清题目要求了吗?

题目说的是前序遍历的结果,你要遵循的始终是中左右的原则,而不是你说的左中右,这是中序遍历的原则

缘意 2015-8-19 09:48:53

你能理解我的意思吗,我也知道是按照前序的中左右。那不是也应该先把上一个的子树中的右先算E,再是Y啊

浅蓝色 2015-8-20 17:45:05

首先,始终是要遵循中左右的原则,再者Y是D的右支,但是D包括他下面的Y都是属于B的左子树呀,所以B下面的左子树也要遵循中左右,而E是B的右子树

你要是还不明白,我建议你再去看一下视频

问题来自: 二叉树的遍历
对下列二叉树

进行前序遍历的结果为( )。
A. DYBEAFCZX
B. YDEBFZXCA
C. ABDYECFXZ
D. ABCDEFXYZ
答案:C
解析:始终遵循前序遍历中左右的原则。排列出前序遍历为ABDYECFXZ。所以选择C。