这段代码的时间复杂度是多少? O(n)或O(logn * logn)

时间:2015-11-27 11:27:32

标签: algorithm time-complexity

for(int i=1;i*i<N;i++)
{
    for(int j=1;j*j<N;j++)
    {
     // print something
    }
}

我的书显示答案是O(n)。我认为它应该是O(logn ^ 2)。

为什么答案为O(n)?

1 个答案:

答案 0 :(得分:3)

外部循环遍历i i=1,2,...,sqrt(N),内部循环相同;总共得到O(sqrt(N)*sqrt(N)) O(N)