以下 C 代码的时间复杂度是( )。
int count = 0; for (int i=0; i*i<n; i++) for (int j=0; j<i; j++) count++;
复杂度分析
A. O(log2N) B. O(N) C. O(Nlog2N) D. O(N^2)
[tag_link]
正确答案:B
外层循环的条件是i2<n,因此 i 的最大值为n。内层循环的的次数同样与 i 相同。所以总的循环次数为n n =n,时间复杂度为O(n)。