以下算法的时间复杂度为( )。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)
A: O(1)
B: O(n*n+n)
C: O(n)
D: O(n*n)
举一反三
- 中国大学MOOC:以下算法的时间复杂度为()。if(n>=0){for(inti=0;i<n;i++)for(intj=0;j<n;j++)printf(输入数据大于等于零\n);}else{for(intj=0;j<n;j++)printf(输入数据小于零\n);}
- 【单选题】以下算法的时间复杂度() 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)
- 求该方法的时间复杂度void aFunc(int n) { for (int i = 0; i < n; i++) { for (int j = i; j < n; j++) { printf("Hello World\n"); } }}
- 给定以下算法: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(i=0;i<n;i++ )for(j=0;j<n;j++ ) S; A: O(n^2) B: O(n^3) C: O(n) D: O(nlogn)