根据遍历序列确定二叉树

由二叉树的先序序列和中序序列

1.在先序序列中,第一个结点一定是二叉树的根结点
2.在中序序列中,根结点必然将中序序列分割成两个子序列;前一个子序列是根结点的左子树的中序序列,后一个是右子树的
3.根据这两个子序列,在先序序列中找到对应的左右子序列
4.在先序序列中,左子序列的第一个结点是左子树的根结点,右子序列同理
5.如此递归下去

《根据遍历序列确定二叉树》

总结:先序配合中序时,中序负责找左右子序列,先序负责找子树的根节点

由二叉树的中序序列和后序序列

1.在后序序列,根结点在序列尾部
2.在中序序列,根结点必在其中间,左边是左子树子孙,右边同理
3.根据这两个子序列,在后序序列找到对应的左右序列
4.在后序序列中,左子序列的尾结点是左子树的根结点,右子序列同理
5.如此递归下去

《根据遍历序列确定二叉树》

总结:后序配合中序时,中序负责找左右子序列,后序负责找子树的根结点

注意:根据先序序列和后序序列是不能确定一个二叉树的

综上所述:配合中序序列时,先序和后序都是确定子树的根结点,区别是根结点在其子序列的位置(先序是子序列的第一个,后序是子序列的最后一个);而中序序列都是在先或后序序列找到根结点后,找到左右子序列
为了方便记忆:“中序定根,先后定左右”

    原文作者:ImHeathen
    原文地址: https://blog.csdn.net/sinat_39253550/article/details/73614755
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞