为什么我们不能从O(n)中的未排序数组构造二进制搜索树?

时间:2015-10-12 14:57:41

标签: algorithm

即使空间复杂性无关紧要,为什么这不可能? 有出路吗? 我能想到的是O(nlogn)时间为平均值,O(n ^ 2)为最差情况。

1 个答案:

答案 0 :(得分:3)

您可以在O(n)中遍历树。

如果你可以在O(n)中构建一个树,你会得到一个排序算法,它也是O(n)。

但这是不可能的 - 比较排序不能少于O(nlogn)

注意:如果您使用平衡二叉树,则可以在O(nlogn)中构建它。