某二叉树的后序遍历序列为dabec,中序遍历序列为debac,则前序遍历序列为 。
A、acbed
B、 decab
C、 deabc
D、 cedba
解法如下:
先在两种遍历序列中找临近的两个或三个字符(内容相同,但顺序可能相同或者不同),如上例,从右向左找,先找出的是ab,根据后序和中序,可还原一棵子树是b是左孩子,a是根结点,然后把还原的这棵子树作为一个新的整体,再按照刚才同样的规则与其他字符结合,进一步还原成一个更大的子树,最终还原成一棵完整的树。就可求出另一种遍历序列。
某二叉树的后序遍历序列为dabec,中序遍历序列为debac,则前序遍历序列为 。
A、acbed
B、 decab
C、 deabc
D、 cedba
解法如下:
先在两种遍历序列中找临近的两个或三个字符(内容相同,但顺序可能相同或者不同),如上例,从右向左找,先找出的是ab,根据后序和中序,可还原一棵子树是b是左孩子,a是根结点,然后把还原的这棵子树作为一个新的整体,再按照刚才同样的规则与其他字符结合,进一步还原成一个更大的子树,最终还原成一棵完整的树。就可求出另一种遍历序列。