什么是具有2种算法的复杂性可以解决它

时间:2014-09-22 03:22:15

标签: algorithm

有两种算法可以为给定问题提供正确的输出。

鉴于一种算法的复杂性是 theta(n log(n))而另一种算法的复杂性是 theta(n)的复杂性是多少>问题?例如是n log(n)的大O,n log(n)的Big Omega还是其他方式?

由于算法是关于最坏情况的场景,我们还会考虑这种情况下的最坏情况吗?

1 个答案:

答案 0 :(得分:0)

由于

  

f(n)∈Θ(g(n))

意味着f渐近地在g的上方和下方都有界,并且

  

f(n)∈O(g(n))

意味着f渐近地以g为界,明显

  

f(n)∈Θ(g(n))⇒f(n)∈O(g(n))。

由于问题可以通过Θ(n)算法解决,因此它也可以通过Θ(n log(n))算法求解的事实只是旨在分散注意力的噪声:问题并不比Θ更难(n)(事实上,可能更简单)。问题的复杂性当然不受n log(n)的限制,因此它不是任何 n log(n)的Ω(),并且没有证据表明它是Ω(n) (虽然它通常是Ω(1))。