给定的数字序列是否有唯一的二叉搜索树?

时间:2017-12-12 11:45:50

标签: tree binary-tree binary-search-tree

所以,我的考试中提到了这个问题:

为以下数字序列创建BST: 45,32,90,34,68,72,15,24,30,66,11,50,10

我创建了以下BST: BST_ME

但它标记错了,我被告知这是正确的: BST_TECH

我对答案持怀疑态度,所以我做了研究,发现了这个:Number of binary search trees over n distinct elements

这让我清楚地知道,一组数字可以存在超过1个BST。

然后为了确保我创建的树是BST,我从这里获得了帮助:How do you validate a binary search tree?

我的BST是有效的!

现在再去教授之前,

  • 我想知道是否给出了BST构造数量的顺序?如果是,问题的语言是否指定我按顺序添加元素?
  • 获得讲师给出的BST的方法是什么?

注意:我创建的BST不是基于某种特殊方法,而是使用BST的基本属性创建的。

1 个答案:

答案 0 :(得分:0)

是的,插入顺序决定了生成的BST。作为极端情况,如果您插入已经排序的数字,最终会得到一个只有左或右子项的退化树,即一个列表。

我同意给定的语言含糊不清“BST”,但最有可能的是,通过谈论序列,他暗示必须以给定的顺序插入数字。

实际上,BST作为正确答案正是通过以给定顺序插入元素而获得的。