GESP 六级 · GESP 202603 C++ 六级 第 7 题

选择题 · 答案 A

← 整套速查表 GESP 六级 全部真题

题目

某二叉树共有 $10$ 个结点,记为 A~J,已知它的先序遍历序列为:A B D H I E C F J G,中序遍历序列为:H D I B E A F J C G,则该二叉树的后序遍历序列是( )。

答案:A

解题思维

根据二叉树的遍历特性,先/前序遍历确定根节点,中序遍历确定左右子树范围,从而重构整棵树,再输出后序遍历结果。

常见错误

易混淆三种遍历的顺序。先序:根左右;中序:左根右;后序:左右根。注意遍历结果中相邻节点的关系。

详细解析(节选)

【考点】二叉树遍历|先序/中序确定后序

二进制树遍历、先序/中序确定后序。六级考查的是"从遍历序列重建二叉树"的逆向能力,命题人专盯那些只记口诀不会推结构的考生。

解题核心就一条:先序首元是根,中序根左侧为左子树、右侧为右子树。本题根A,左子树先序BDEHI、中序HDEIB,右子树先序FCJG、中序FJCG。递归展开后,左子树根B,其左子树根D(左H右I),右子树根E;右子树根F,其右子树根J(右C,C右G)。后序即"左根右根":HIDEBJFGCA。

选项B把B提前到E前,混淆了"根在左子树后"的规则;选项C把I置于H前,违反"左子树先序中I在H右"的结构;选项D把F置于J前,忽略"J是F的左子树"这一层级关系。这些陷阱都源于只背"后序=左根右根"而没真正还原树形。

若命题人把"后序"换成"层序",答案会完全不同;若只给先序和中序却要求判断树是否满二叉树,则需额外验证节点数与深度。刷此类题先问"根在哪里、左右子树如何划分",这才是通法。

在 OI伴学 里做这道题
登录后可计时作答、查看完整六段式解析,并按你的错题自动生成同类练习。
去刷题先做一次 AI 学情诊断