国际空间研究组织 | ISRO CS 2017 |问题 19
考虑程序
void function(int n) {
int i, j, count=0;
for (i=n/2; i <= n; i++)
for (j = 1; j <= n; j = j*2)
count++;}
程序的复杂度是
(A) O(log n)
(B) O(n 2 )
(C) O(n 2 log n)
(D) O(n log n)答案: (D)
解释:外循环运行 n/2 次
内部循环运行 logn 次
因此,程序的总时间复杂度为 O(nlogn),即选项 (D)
这个问题的测验