我有平等:
Σ 1到n j ^ 2 = n·(n + 1)·(2n + 1)/ 6
问题要我估算在平等的右侧和左侧执行计算所需的操作次数。
对于左侧,我发现:
O(n·log ^ 2(n))
但是对于右边我不知道如何开始...
答案 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,例如一百万个数字。