中国大学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]
举一反三
- 给定以下算法: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)
- 下面程序段的时间复杂度为 ____________ 。 for(int i=0; i<m; i++) for(int j=0; j<n; j++) a[i][j]=i*j;[/i]
- 分析以下算法的时间复杂度(需给出推导过程)。int. fun( int n) //n为正整数{ int i,j,s = 0; for (i - 1;i<- n;i++ ) for (j = 3 * i;j<=n;j++) s + =B[ i][]; sun= s; return( sum ) ;}
- 下面程序段的时间复杂度为( )。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)
- 下列程序中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)