分析下列代码,这段代码的算法时间复杂度为( )。 i = 1; while( sum < n ){ i = i * 2; sum = sum + i; }
A: O(nlogn)
B: O(n)
C: O(logn)
D: o(1)
A: O(nlogn)
B: O(n)
C: O(logn)
D: o(1)
举一反三
- 下列函数的时间复杂度是() int func(Int n){ int i=0,sum=0; while(sum<;n) sum+=++i; return i; } A: O(logn) B: O(n^1/2) C: O(n) D: O(nlogn)
- 下列函数int func ( int n ){ int i = 0, sum = 0;while ( sum <; n ) sum += ++i;return i;}的时间复杂度是 A: O(nlogn) B: O(n) C: O(n1/2) D: O(logn)
- 下列函数的时间复杂度是() int func(Int n){ int i=0,sum=0; while(sum<n) sum+=++i; return i; } A: O(logn) B: O(n^1/2) C: O(n) D: O(nlogn)
- 下面程序段的时间复杂度为( )sum=1;for(i=1; i<;n; i* =2)sum+=i; A: O(1) B: O(n) C: O(log2n) D: O(n2)
- 设有程序段 i=1; while(i<=n) i=i*2; 上面程序段的时间复杂度为()。 A: O(n) B: O(logn) C: O(nlogn) D: O(n2)