BST O(NLogN)构建证明

时间:2017-12-13 02:30:57

标签: algorithm performance time binary-tree binary-search-tree

我正在尝试学习测试,我知道单个插入是O(logn)并且树的高度是n,因此比较将使时间为Ω(n log n)。

如果给出n个元素的未排序数组A,在最坏的情况下,构建BST所需的时间是Ω(n log n)。

1 个答案:

答案 0 :(得分:2)

遍历BST可以在线性时间内完成,因此如果您可以从未排序的数组中构建BST,则可以更快地生成BST。比O(n * log(n))这意味着你可以比O(n * log(n))更快地排序未排序的数组,除非你有关于被排序元素的其他信息,否则我们知道this can't be done。 / p>

另一方面,您可以在Ω(n * log(n))中对数组进行排序,并且可以在线性时间内从排序数组中构建BST(例如,构建类似于列表的' ;树)。