根据前序遍历和中序遍历得出后序遍历

首先要明确前序,中序和后序的遍历顺序:
前序:父节点,左子节点,右子节点;
中序:左子节点,父节点,右子节点;
后序:左子节点,右子结点,父节点;

明确之后,首先根据前序遍历,确定整个二叉树的根节点(前序的第一个节点);再通过中序遍历,可以直接根据根节点将整个二叉树分为左右两颗子树.这时再逐步根据前序和中序顺序,不难画出整个二叉树.进而可以写出后序遍历序列了.

例:已知某二叉树先序遍历序列是: 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
 
posted @ 2017-07-15 12:59  如果屈原会编程  阅读(1564)  评论(0编辑  收藏  举报