找回密码
 立即注册
搜索
热搜: 活动 交友
查看: 366|回复: 1

一道有意思的填空题

[复制链接]

17

主题

4

回帖

523

积分

版主

积分
523
发表于 5-23-2025 22:24:31 | 显示全部楼层 |阅读模式
选择题:给定一棵二叉树,其前序遍历结果为:ABDECFG,中序遍历结果为:DEBACFG。请问这棵树的正确后序遍历结果是什么?()
A. EDBFGCA    B. EDBGCFA    C. DEBGFCA    D. DBEGFCA
这是CSP的真题,但是同学们的答案都很不一致。
大家来研究研究,讨论讨论。

2

主题

3

回帖

180

积分

初级程序员

积分
180
发表于 5-27-2025 17:42:31 | 显示全部楼层
本帖最后由 BZR 于 5-27-2025 17:56 编辑

我发表一下我的观点:

题目告诉我们:

1. 前序:ABDECFG

2. 中序:DEBACFG

根据前序应先访问根,所以根是 A。

而中序中 A 的位置是:DEB | A | CFG,所以左子树:DEB;右子树:CFG。

而左子树前序是 BDE,中序是 DEB,所以根是 B。

中序中 B 的位置是:DE | B | 空,左子树:DE,右子树:空。

左子树前序是 DE,中序是 ED,根就是 D。

中序中 D 的位置是:空 | D | E,左子树:空,右子树:E。

所以左子树是:

     B

   /

D

  \

   E




再分析右子树前序是 CFG,中序则是 CFG,所以根是 C。

中序中 C 的位置是:空 | C | FG,左子树:空,右子树:FG。

右子树前序:FG,中序:FG,所以根是 F。

中序中 F 的位置:空 | F | G,左子树:空,右子树:G

所以右子树是:

C

\

  F

    \

     G



合并,整棵树便是:

          A

       /    \

     B      C

   /            \

D             F

   \               \

    E             G



根据题目要求,要后序遍历一下:

左子树:E, D, B

右子树:G, F, C

根:A

→ E, D, B, G, F, C, A → EDBGFCA,但因为选项中并没有这一选项,所以我也不清楚...

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|RealDevClub ( 沪ICP备2024093864号-1 )

GMT+8, 6-26-2025 20:09 , Processed in 0.071779 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表