我发现如果我们有Preorder和Inorder Traversal,我们就会有一个独特的树。
我可以得出结论:
对于每个Preorder Traversal,我们有多个Inorder Traversal。这是正确还是错误的结论?每个人都会帮助我并添加一些细节。
再次感谢。答案 0 :(得分:2)
是的,因为从单个预订序列中您可以创建多个树。例如:[4,3,1,2]可以被重复为具有根4,子3和2的树。然后您可以插入1作为3的左或右子。取决于您将插入它的位置序列会改变。
您也可以通过这种方式对其进行推理:您拥有 n 数字,您可以使用 n!排列。如果排列的数量等于您可以在 n 数字中创建的可能树的数量,则可以从遍历生成树。事实并非如此,但是你可以创建许多树,其中每个节点只有一个左子或只有一个右子,这给你2 * n!还有更多,所以必须有一个排列,可以产生超过1树=>超过1次遍历遍历。
在一般情况下,这当然是正确的,BST具有独特的顺序序列。
答案 1 :(得分:0)
真, 例如: 给出前序遍历 ABDEC
a
/ \
b c
/ \
d e
许多inorder遍历是可能的: baedc, dbeac 等等...