已知一棵二叉树的先序遍历序列为 A B D E C F ,中序遍历序列为 D B E A C F ,则其后序遍历序列是 ( )。
先序定根、中序分左右,递归还原树结构后按后序规则输出。
混淆先序与中序的根节点位置;中序中根左侧全为左子树、右侧全为右子树,很多人会漏掉这一划分;后序是左右根,容易写成先序或中序的变体。
本题考查《GESP 考试大纲》六级"数据结构与算法"模块中的二叉树重建与遍历序列转换。命题人卡住的是考生对"先序定根、中序分左右"这一核心规则的熟练度——六级树题不考建树代码,只考遍历推理,但很多人仍会按"画图"的惯性去构造,浪费宝贵时间。
先序首字符必为根:A。在中序里找 A,左侧 D B E 为左子树,右侧 C F 为右子树。
左子树先序为 B D E,首字符 B 是左子树的根;在中序左段 D B E 里,B 左侧 D 为左子树、右侧 E 为右子树,故左子树结构为 B 挂 D、E 两棵叶子。
右子树先序为 C F,首字符 C 是右子树根;在中序右段 C F 里,C 右侧 F 为右子树,故右子树结构为 C 挂 F 一棵叶子。
整棵树:根 A,左子 B(左 D、右 E),右子 C(右 F)。
后序规则:左→右→根。
拼接得:D E B F C A,对应选项 A。