某二叉树的中序遍历序列为CBADE,后序遍历序列为CBADE,则前序遍历序列为

admin2018-10-28  40

问题 某二叉树的中序遍历序列为CBADE,后序遍历序列为CBADE,则前序遍历序列为

选项 A、EDABC
B、CBEDA
C、CBADE
D、EDCBA

答案A

解析 后序遍历次序是“左右根”,中序遍历次序是“左根右”。由定义可知:①后序遍历中最后一个就是树根结点,即E结点;②在中序遍历中,根结点左边的是左子树集,右边的是右子树集,即CBAD是根结点E的左子树集合。
    问题就会转化为:求后序遍历是CBAD,中序遍历是CBAD的子树,方法同上。因为中序遍历中,D结点右边没有结点了,所以D结点不包含右子树,否则就会被分为2个子问题。以下是这道题的详细推理过程:
    步骤1:由CBADE得出根结点为E,由中序遍历可知{CBAD}E,右子树为空;
    步骤2:由CBAD得出左子树集合的根节点为D,由中序可知{CBA}D,右子树为空;
    步骤3:同理,二叉树更新后如下图所示。由下图可得,前序遍历为:EDABC。
转载请注明原文地址:https://kaotiyun.com/show/6ilp777K
0

最新回复(0)