设一棵二叉树的中序遍历结果为ABCDEFG,前序遍历结果为DBACFEG,则后序遍历结果为【 】。

admin2010-01-10  34

问题 设一棵二叉树的中序遍历结果为ABCDEFG,前序遍历结果为DBACFEG,则后序遍历结果为【  】。

选项

答案ACBEGFD

解析 ①确定根节点。在前序遍历中,首先防问根结点,因此可以确定前序序列DBACFEG中的第一个结点D为二叉树的根结点。
②划分左子树和右子树。在中序遍历中,访问根结点的次序为居中,首先访问访问左子树上的结点,最后访问右子树上的结点,可知,在中序序列ABCDEFG中,  以根结点D为分界线,子序列ABC在左子树中,子序列EFG在右子树中。如下图所示。

③确定左子树的结构。对于左子树ABC,位于前序序列最前面的一个结点为了树的根结点,根据前序遍历结果,B为该了树的根结点,中序序列中位于该根结点前面的结点构成左子树上的结点子序列,位于该根结点后面的结点构成右子树上的结点子序列,所以A为该左子树的左结点,C为右结点。现在可确定左子树结构如下:

④确定右子树的结构。同理,可知右子树的结构。
本二叉树恢复的结果如图所示。

根据后序遍历的原则,该二叉树后序遍历的结果为ACBEGFD。
转载请注明原文地址:https://jikaoti.com/ti/z6I0FFFM
0

最新回复(0)