问一道软件水平考试的问题

stevenying 2004-05-07 09:19:49
题目:假设一棵二叉树的后序遍历序列为DGJHEBIFCA,中序遍历序列为DBGEHJACIF,则其前序遍历序列为: a. ABCDEFGHIJ b. ABDEGHJCFI c. ABDEGHJFIC d. ABDEGJHCFI

请教各位这类题目的解法,请详细点,谢谢先。
...全文
41 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
stevenying 2004-05-07
  • 打赏
  • 举报
回复
先谢谢各位了,我再研究一下。
klbt 2004-05-07
  • 打赏
  • 举报
回复
确实不错。
Lonerlin 2004-05-07
  • 打赏
  • 举报
回复
nobush分析的特别好,谢谢!
nobush 2004-05-07
  • 打赏
  • 举报
回复
这总是递归地分析的
后序遍历序列为DGJHEBIFCA 则根为A
中序遍历序列为DBGEHJACIF 则A的左子树DBGEHJ
右子树CIF
左子树后序遍历序列为DGJHEB则根为 B
中序遍历序列为DBGEHJ 则B的左子树为D
右子树GEHJ

右子树后序为: GJHE 则根为E
中序遍历序列为GEHJ 则E的左子树为G
右子树HJ
……
zzzle 2004-05-07
  • 打赏
  • 举报
回复
我简单说说吧,比如看中序,第一个一定是最左的,可以自己画图理解。
前序呢?第一个一定是源图中的根节点


既然如此,根据四个选项可以知道A一定是根节点(每次都在第一个位置)
注意看中续遍历的结果,CIF在最后,说明什么呢?
A的左子树DBGEHJ
右子树CIF

我们看右子树
其后序结果IFC
中序CIF
那么只有这种可能
C
F
I
你说对么,左边的自己想吧
stevenying 2004-05-07
  • 打赏
  • 举报
回复
画图也要有个顺序啊,我如何正确判断顺序呢,我想应该有解法的吧,继续请教各位,谢谢
zzzle 2004-05-07
  • 打赏
  • 举报
回复
要画图的,很难将清楚。
你画画图看就知,简单一点的话,把四个选项带入看看就知。

2,948

社区成员

发帖
与我相关
我的任务
社区描述
就计算机等级考试、软件初、中、高级不同级别资格考试相关话题交流经验,共享资源。
c1认证c4javac4前端 技术论坛(原bbs)
社区管理员
  • 软件水平考试社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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