根据遍历序列确定二叉树

已知一段先序序列和一段中序序列,如何确定二叉树?

先序:根左右
中序:左根右
由先序的走法,可以得到先序序列的第一个绝对是树根
既然知道了树根,那么树根就将中序序列分为了左子序列和右子序列
以此可在先序序列中找出对应的左子序列和右子序列,然后又根据先序的道理,可知先序序列左子序列的第一个就是左子树的树根,先序序列的右子序列的第一个就是右子树的树根。
如此,就确定了二叉树的三个结点。同时,先序序列的左子树右子树的根节点又可以把中序序列的左子序列和右子序列划分别分成两个子序列,这样递归下去,当取尽先序的结点时,二叉树就建立好了

猜你喜欢

转载自blog.csdn.net/heipao17/article/details/115470709