二叉树搜索的复杂性

时间:2016-05-23 15:08:09

标签: time-complexity

我发现有关二进制堆上搜索的冲突信息。根据这个,https://en.wikipedia.org/wiki/Binary_heap,它是O(n)(编辑:它实际上是O(log n)),根据这个Search an element in a heap,它是{{3}}为O(n / 2)。

1 个答案:

答案 0 :(得分:0)

维基百科是错的。二进制堆不是为搜索单个元素而设计的,并且只是为了访问最小元素而进行优化。这使得它们例如能够在时间Θ(n)中构建;他们需要的排序不像二叉搜索树那样严格。

看起来有人更新了维基百科,这很好。谢谢你指出来了!

一个注意事项 - 术语O(n / 2)虽然在技术上是正确的,但被认为是使用big-O表示法。 Big-O表示法忽略常数因子,因此O(n / 2)与O(n)相同。如果你想计算你最终要做的特定操作次数,那么请避免使用big-O表示法并说出“需要完全n / 2次比较。”