A: O(n)
B: O(nlogn)
C: O(n^2)
D: O(logn logn)
举一反三
- 给定以下算法:bool isDuplicate(float* iArrayA, int n){ for (int i = 0; i < n; i++){ for (int j = i + 1; j < n; j++) if (iArrayA[i] == iArrayA[j]) return true; } return false;}其时间复杂度是O( )。[/i] A: O(n^2) B: O(n) C: O(n^2 - n) 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(logn) B: O(n^1/2) C: O(n) D: O(nlogn)
- 请问以下方法的时间复杂度是多少?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)
- 下列函数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)
内容
- 0
下面程序段的时间复杂度为( )。for(int i=0;i<;m;i++) for(int j=0;j<;n;j++) a[i][j]=i*j;[/i] A: O(m2) B: O(n2) C: O(m*n) D: O(m+n)
- 1
以下代码的复杂度是()。 x=0; for(i=1; i for (j=i; j< n j span> x++; A: O(n) B: O(logn) C: O(n*n) D: O(nlogn)
- 2
【单选题】以下算法的时间复杂度() void matrimult(int a[M][N],int b[N][L],int c[M][L]) // { int i,j,k; for(i=0;i<M;i++) for(j=0;j<L;j++) c[i][j]=0; for(i=0;i<M;i++) for(j=0;j<L;j++) for(k=0;k<N;k++) c[i][j]+=a[i][k]*b[k][j]; } A. O(n*l) B. O(m*l) C. O(m*n) D. O(m*n*l)
- 3
以下算法的时间复杂度为( )。if (n >= 0) { for(int i = 0; i < n; i++) for(int j = 0; j < n; j++) printf("输入数据大于等于零\n"); } else { for(int j = 0; j < n; j++) printf("输入数据小于零\n"); } A: O(1) B: O(n*n+n) C: O(n) D: O(n*n)
- 4
中国大学MOOC: 给定以下算法:bool isDuplicate(float* iArrayA, int n){ for (int i = 0; i < n; i++){ for (int j = i + 1; j < n; j++) if (iArrayA[i] == iArrayA[j]) return true; } return false;}其时间复杂度是O( )。[/i]