一个2叉树遍历的问题

over301 2009-10-26 11:02:18
一个2叉数的先序遍历是EFHIGJK,中序遍历是HFIEJKG
请问,它的右子树的根结点是什么
(A)H (B)J (C)I (D)G

书上的答案是 “G”

针对上面的答案我是这样理解的:
步骤1:
先序遍历是:
根结点---》左结点---》右结点

中序遍历是:
左结点---》根结点---》右结点


步骤2:
如果是“先序遍历”的话
E
/ \
(FHI) (GJK)
然后,再次确定,右子数的结点是G为根结点



但是,我的问题是,如果这个题目不是选择题的话,是否它的根结点,可能还会是 "K"啊,
因为 根据“中序遍历”为 “HFIEJKG”,图就为
E
/ \
(HFI) K
/ \
J G

我的理解是否正确,请会的热心人帮忙指教,谢谢
...全文
164 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
over301 2009-10-27
  • 打赏
  • 举报
回复
大伙的解释,我已经记下,拿回去,我再好好理解消化一下,谢谢
Caballeroo 2009-10-26
  • 打赏
  • 举报
回复
xuexi!
sxq310 2009-10-26
  • 打赏
  • 举报
回复
根据二叉树的特点,先序和中序遍历、中序和后序遍历都能唯一确定一棵二叉树。所以楼主如果严谨点递归的话应该是得到和一楼完全一样的答案。
lrdcf 2009-10-26
  • 打赏
  • 举报
回复
1楼完全正确
gamedragon 2009-10-26
  • 打赏
  • 举报
回复
K
/ \
J G
难道LZ认为这个树的前序遍历结果是GJK?
plumstar 2009-10-26
  • 打赏
  • 举报
回复
根据:
如果是“先序遍历”的话
E
/ \
(FHI) (GJK)
肯定可以确定右子树的跟节点是G,因为先序的顺序是GJK。
就相当于先序遍历是EFHIGJK,我们可以确定根节点是E一样。
最终的树为:
E
/ \
F G
/ \ /
H I J
\
K

33,028

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧