大O符号O(n²)

时间:2014-10-03 18:52:30

标签: math big-o

我想知道,为什么这是O(n 2 )1 + 2 + 3 + ... + n?

例如,1 + 2 + 3 + 4 = 4·(4 + 1)/ 2 = 10但是4 2 = 16,那么它是怎么来的(n 2 < / SUP>)?

3 个答案:

答案 0 :(得分:1)

在Big-O表示法中,你忘记了常数因素。

在你的例子中,S(n)= 1 + 2 + ... + n = n·(n + 1)/ 2在O(n 2 ),因为你可以找到一个常数编号c带

  

S(n)&lt;所有n的c·n 2 Ñ<子> 0

(只需选择c = 1) 注意:Big-O表示法是界限,即S(n)增长不快于n 2
另请注意,S(n)也明显增长不快于n 3 ,因此它也在O(n 3 )。

其他一些:

你也可以证明n 2 在O(S(n))中的另一种方式。

  

n 2 &lt; c·S(n)= c·n·(n + 1)/ 2适用于所有n的任何c≥2

因此n 2 在O(S(n))中。这意味着两个函数的增长都是相同的。你可以这样,因为S(n)在Θ(n 2 )。

答案 1 :(得分:0)

当计算O(n)n(n-1)/ 2与n ^ 2相同时,因为它具有最高的复杂度

答案 2 :(得分:0)

1 + 2 + 3 + ... + n该等式的和为n(n + 1)/ 2 意味着它是n ^ 2 + n / 2因此O(n ^ 2)。 复杂性,Big O将考虑等式中最大的因素,因为逻辑上它是需要花费大部分时间的因素。(在计算机程序中考虑它)