数据结构中已知前序序列和中序序列,怎么得出后序序列,谢谢回答!

如题所述

首先要明确前序,中序和后序的遍历顺序:
前序:父节点,左子节点,右子节点;
中序:左子节点,父节点,右子节点;
后序:左子节点,右子结点,父节点;
明确之后,首先根据前序遍历,确定整个二叉树的根节点(前序的第一个节点);再通过中序遍历,可以直接根据根节点将整个二叉树分为左右两颗子树。这时再逐步根据前序和中序顺序,不难画出整个二叉树。进而可以写出后序遍历序列了。
例:已知某二叉树先序遍历序列是: A B C D E F H ,中序遍历序列是: B D C E A H F,写出后序遍历序列。
由前序可知,该树根节点为A;
由中序及根节点可知,B, D, C, E 在根节点的左子树上H, F在根节点的右子树上;
再逐步分析各子树,可得该树为:
A
╱ ╲
B F
╲ ╱
C H
╱ ╲
D E
后序为:DECBHFA
温馨提示:答案为网友推荐,仅供参考