估计执行计算所需的操作数

时间:2015-10-25 10:00:27

标签: big-o complexity-theory

我有平等:

  

Σ 1到n j ^ 2 = n·(n + 1)·(2n + 1)/ 6

问题要我估算在平等的右侧和左侧执行计算所需的操作次数。

对于左侧,我发现:

  

O(n·log ^ 2(n))

但是对于右边我不知道如何开始...

2 个答案:

答案 0 :(得分:1)

由于给出了n,所以在恒定时间内完成计算(n+1)*(2n+1)/6,即O(1)

答案 1 :(得分:1)

如果您假设计算j ^ 2是恒定时间操作,则左侧是O(n)。如果不是(如果n真的非常大)那么它就是O(n log n log log n)如果你使用聪明的方法来计算j ^ 2,或者如果你使用那个就是O(n log n)j ^ 2 =( j - 1)^ 2 + 2j + 1。

如果我正在计数,右边是六个操作,这使得它成为O(1)。或者O(log n log log n),如果你采用非常大的n,例如一百万个数字。