• 2022-05-28
    下列程序中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)
  • A

    内容

    • 0

      下面程序段的时间复杂度为( )。‌for(int i=0;i<;m;i++)‌ for(int j=0;j<;n;j++)‌ a[i]&#91;j&#93;=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&#91;j&#93;) return true; } return false;}其时间复杂度是O( )。[/i]