国际空间研究组织 | ISRO CS 2020 |问题 21
以下代码的复杂性是多少?
sum = 0;
for (i = 1; i <= n; i*= 2)
for(j = 1; j <= n; j++)
sum++;
以下哪一项不是有效的字符串?
(A) Ο(n 2 )
(B) Ο(n log n)
(C) Ο(n)
(D) Ο(n log n log n)答案: (C)
解释:根据上述算法分析:
Inner loop will run unto n time, in maximum
Outer loop will run upto logn time, in maximum
所以,总时间复杂度将是,
= O(n) * O(log n)
= O(n logn)
因此,Ο(n log n log n) 和 Ο(n 2 ) 也是正确的。
但它不能小于O(n logn),所以O(n)是不正确的。
这个问题的测验