小楠楠正解。事实上原贴给出的中序还对应这样的树呀:B

A C


中序输入无法确定一棵二叉树,会有不同的树对应一个中序输入。

中序序列只能确定真二叉树(每个节点只有0个或2个孩子)

----------------------------------额。。。答的不对----------------------------------先序序列或者后序序列只能确定真二叉树。中序序列不能唯一得对应一颗二叉树。比如平衡二叉树有很多形式,但是中序遍历意义上的顺序都是非递减的。


中序扩展序列是一个无效的序列,因为任何两个元素之间有且只有一个「_」,其唯一性等价于同一中序序列的二叉树的唯一性,(或者把_想像为运算数,原来的字元想像为运算符,设想一个可能有多少个表达式),如果必须通过中序序列读入二叉树的话,一种可行的方法是将中序序列加括弧;先序扩展序列和后序扩展序列是可以确定二叉树的 ,后序可以用栈作为辅助读入(类似逆波兰式的求解)

关于二叉树的五种构建方法与实现:

1.前序+中序序列构建2.后序+中序序列构建3.层次+中序序列构建

4.扩充二叉树前序序列构建

5.扩充二叉树后序序列构建参考一篇不错的博文:二叉树的构建_数据结构与演算法_Dablelv的博客专栏-CSDN博客


推荐阅读:
相关文章