给定以下算法: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)
A: O(n^2)
B: O(n)
C: O(n^2 - n)
D: O(1)
举一反三
- 中国大学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]
- 下列程序中sumFun()的算法时间复杂度为 ( ) 。int sumFun(int n) { int count = 0; for (int i = 1; i < n; i = i * 2) for (int j = i; j > 0; j = j - 1) count = count + i + j; return count; } A: O(n) B: O(nlogn) C: O(n^2) D: O(logn logn)
- 求时间复杂度:for(i=0;i<m; i++){ for(j=0; j<n; j++){ s+=B[i][j]; }}sum=s;[/i] A: O(1) B: O(m*n) C: O(n^2) D: O(√n )
- 下面程序段的时间复杂度为( )。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)
- 以下算法的时间复杂度为( )。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)