for (i = 0; i < 2*n; i += 2)
{
for (j=n; j > i; j--)
//some code that yields O(1)
}
我原以为上面的内容会产生n*log(n)
,但我看到另一个消息来源说,这确实是n^2
的复杂性。请向我解释一下它是什么,以及我将来如何处理这样的问题。
发布于 2015-03-16 17:31:42
由于大O是上界的,所以N*N永远是<= N^2,从而产生O(N*2)。答案是正确的
发布于 2015-03-16 17:32:30
您有一个依赖于n
的循环,在该循环中有另一个也依赖于n
的循环,因此得到的O是O(n*n)
,即O(n^2)
。
大O只提供了算法增长率的上界。因此,所有常数因子都被丢弃。
https://stackoverflow.com/questions/29089864
复制