大 O 和大 Theta 平等

Big O and Big Theta Equality

比如问我构建二叉堆的渐近复杂度(算法的类型是任意的)如果我说一个算法是Θ(log(n))会不会说 O(n)

也是正确的

只要您测量的是相同的量,任何 Θ(log n) 也是 O(n)。如果运行时间是 Θ(log n),那么它也是 O(log n)(这是 Θ 符号定义的一部分),任何 O(log n) 也是 O(n)。

您可能必须小心的情况是这些是否隐含地测量不同的量。例如,如果算法的 最佳情况运行时间 是 Θ(log n),则不一定遵循算法的 最坏情况运行时间 将是 O(n).