• 2022-06-07
    给出下列算法中语句的时间复杂度 x = 0; y = 0; for (int i = 1; i <= n; i++) for (int j = 1; j <= i; j++) for (int k = 1; k <= j; k++) x=x+y;
  • O(n)

    内容

    • 0

      中国大学MOOC: 写出下面程序执行后的运行结果。#include <stdio.h>int main(){int x[]={1,3,5,7,2,4,6,0},i,j,k;for(i=0;i<3;i++)for (j=2;j>=i;j--)if(x[j+1]>x[j]) { k=x[j]; x[j]=x[j+1]; x[j+1]=k;}for(i=0;i<3;i++)for(j=4;j<7-i;j++)if(x[j+1]>x[j]) { k=x[j]; x[j]=x[j+1]; x[j+1]=k;}for (i=0;i<3;i++)for(j=4;j<7-i;j++)if(x[j]>x[j+1]) { k=x[j]; x[j]=x[j+1]; x[j+1]=k;}for (i=0;i<8;i++) printf("%d",x[i]); return 0;}

    • 1

      中国大学MOOC: 计算下面程序段的时间复杂度。for(i=1;i<=n;i++) for(j=1;j<=i;j++) for(k=1;k<=j;k++) x=x+1;

    • 2

      下面语句的执行结果是() int i,j,k=0; for(i=0;i<5;i++) for(j=0;j<4;j++) k++; printf(“%d”,k);

    • 3

      下列程序段的时间复杂度为( )。 for(i=0;i<m; i++) for(j=0; j<t; j++) c[i][j]=0; for(i=0;i<m; i++) for(j=0;j<t; j++) for(k=0;k<n; k++) c[i][j]=c[i][j]+a[i][k]*b[k][j];

    • 4

      中国大学MOOC: 写出程序的运行结果。#include <stdio.h>int main(){int c[10],i=0,j=0,k=0 ;int a[3]={5,9,10} ; int b[5]={12,24,26,37,48} ;while (i<3 && j<5)if (a[i]>b[j]) {c[k]=b[j] ; k++ ; j++ ;}else {c[k]=a[i] ; k++ ; i++ ;}while (i<3) {c[k]=a[i] ; i++ ; k++ ;}while (j<5) {c[k]=b[j] ; j++ ; k++ ;}for (i=0; i<k; i++) printf("%d ",c[i]); return 0;}