发布网友
共2个回答
热心网友
先序是先根后左右子树,所以序列的第一个是根;后序是先左右子树后根,所以序列的最后一个是根;中序是左子树、根、右子树;其实关键就是抓住这个定义,利用已知的两个序列将根的位置确定,然后区分左右子树的位置,然后递归的去做。
先序和后序序列不能唯一确定中序,但是先序中序可以唯一确定后序序列,中序后序可以唯一确定前序。后两种组合较简单,就不说了。先序后序组合容易确定的是根, 以这个题目为例:容易判断1是根,然后区分左右两棵子树。一个可以利用的特性是左右子树在序列中视不会交叉的,所以可以判断先序中的24是左子树,3576是右子树;后序中的42是左子树,7563是右子树;然后再对子树递归的分析即可。
热心网友
先观察四个选项根节点1都在第三位,中序遍历是先做子树,可判断出2,4为T的左子树,3576为右子树。则二叉树为
1
2 3
4 4 5 6
7 7
由于4和7有两个位置都符合题意。所以根据中序遍历的定义得到答案