将谓词逻辑与Big O表示法相结合

时间:2016-10-17 16:24:37

标签: algorithm logic complexity-theory predicate

对还是错? ∀f[f =Ω(n ^ 2)∧f= O(n ^ 3)⇒f=Θ(n ^ 2)∨f=Θ(n ^ 3)]

1 个答案:

答案 0 :(得分:0)

不,该陈述意味着最好的情况是Theta(n ^ 2),最坏的情况是Theta(n ^ 3)。如果该陈述为真,则意味着平均情况永远不会与最佳或最坏情况不同,这是不正确的。

例如,参见BST,其中最好的情况是Omega(1),平均情况是O(log n),最坏情况是O(n)。 (请注意,有些人会不同意我并将O(log n)列为最佳情况,但我不同意这一点)。

在这种情况下,平均情况不必是Theta(n ^ 2)或Theta(n ^ 3),因为它可能是Theta(n ^ 2 log n),它大于Theta(n ^ 2)并且小于Theta(n ^ 3)。我想不出一个实际 的算法,但你至少可以想象一个实际上是算法的算法(无论多么人为)。