以下程序段的时间复杂度为( )。i=1;x=0;while (i<;n){for (j=1;j<;=n;j++) x++;i=i*2;}
A: O(nlog2n)
B: O(log2n)
C: O(n2)
D: O(2n+logn)
A: O(nlog2n)
B: O(log2n)
C: O(n2)
D: O(2n+logn)
举一反三
- 求时间复杂度:x=0;for(i=1; i<n; i++){ for (j=1; j<=n-i; j++){x++; }} A: O(n) B: O(n^2) C: O(1) D: O(√n )
- 下面的程序段时间复杂度为( )。 for(i=1;i<n;i++) for(j=1;j<n;j++) x=x+1; A: O(2n) B: O(n) C: O(n^2) D: O(log2n)
- 请问以下方法的时间复杂度是多少?int n = 10;for (i = 1; i < n; ++i) { for (j = 1; j < n; j += n / 2) { for (k = 1; k < n; k = 2 * k) { x = x + 1; } }} A: O(n^3) B: O(n2logn) C: O(n(logn)*2) D: O(nlogn)
- 试分析下面代码段的时间复杂度: for(i=2;i<=n;++i) for(j=2;j<=i-1;++j) { ++x; a[i][j]=x; }[/i] A: O(1) B: O(n) C: O(n^2) D: O(n^3)
- 试分析下面代码段的时间复杂度: for(i=1;i<=n;++i) for(j=1;j<=n;++j) { ++x; s+=x; } A: O(1) B: O(n) C: O(n^2) D: O(n^3)