回 帖 发 新 帖 刷新版面

主题:关于二叉树

如果已知前序和中序怎样求后续

回复列表 (共7个回复)

沙发

是啊,我刚想发帖求助,想不到有人捷足先登了!

板凳

根据教程的算法:
在中序中找根(即前序的第一个),然后递归做.在只剩下一个字符时输出(就是后序).

另一问题:怎么根据前,中或后,中构造一个二叉树?

3 楼

中序的第一个数据即为这棵树的根,找到根后再在前序中找到根的位置,根前面的序列即为这棵树的左子树的前序序列,后面的为右子树的前序序列,再根据左右子树的前序序列找到相应的中序序列,分别递归计算左右子树就行了。知道这个原理再构造二叉树就不难了。

4 楼

好!谢谢3楼!

5 楼

3楼的好像说错了把,应该是先序第一个是根,然后再去中序中找到根并划分左右子树

6 楼

恩,应该是从先序中找根,
再对应到中序确定子树

7 楼

二叉树的前序:先按前序的顺序写根---再按前序的顺序写二叉树的左子数---按前序的顺序写二叉树的右子数
       中序:先按后序的顺序写二叉树的左子数--按后序的顺序写二叉树的根--按后序的顺序写二叉树的右子数
       后序:先按后序的顺序写二叉树的左子数--按后序的顺序写二叉树的右子数--按后序的顺序写二叉树的根。

我来回复

您尚未登录,请登录后再回复。点此登录或注册