分析算法(N ^ 2)

时间:2013-04-30 19:31:31

标签: algorithm

我需要运行具有最坏情况运行时间Θ(n ^ 2)的算法。 之后,我需要运行一次算法5次,每次运行时运行Θ(n ^ 2)。

这些算法的最坏情况运行时间是什么?

在我看来,公式看起来像这样:

( N^2 + (N^2 * 5) )

但是当我用theta表示法分析它时,我的猜测是它在Θ(n ^ 2)时间运行。

我是对的吗?

2 个答案:

答案 0 :(得分:3)

两次O(N ^ 2)仍为O(N ^ 2),十次O(N ^ 2)仍为O(N ^ 2),五次O(N ^ 2)仍为O(N ^ N) ^ 2),任何时候O(N ^ 2)仍然是O(N ^ 2),只要'any'是常数。

相同的答案适用于\ Theta而非O.

答案 1 :(得分:2)

它是O(n^2),因为你拥有的基本上是O(6n^2),它仍然是O(n^2),因为你可以忽略常量。你所看到的是属于 set 的函数,而不是函数本身。

基本上,6n^2 ∈ O(n^2)

修改

你也问过Θ。 Θ为您提供下限和上限,而O仅为您提供上限。你只得到Ω的下限。 Θ是这两者的交集。

任何Θ(f(n))也是O(f(n)),但不是相反。