下面程序的时间复杂度为 。 for(i=0; i<m; i++) for(j=0; j<n; j++) A[i][j]=i*j;A.O(m2)B.O(n2)C.O(m×n)D.O(m+n)
下面程序的时间复杂度为 。 for(i=0; i<m; i++) for(j=0; j<n; j++) A[i][j]=i*j;
A.O(m2)
B.O(n2)
C.O(m×n)
D.O(m+n)
参考答案和解析
D 解析:语句的频度指的是该语句重复执行的次数。一个算法中所有语句的频度之和构成了该算法的运行时间。在本题算法中,其中语句“y=y+1;”的频度是n-1,语句“x++;”的频度是(n-1)(2n+1)=2n2-n-1。则该程序段的时间复杂度是T(n)=n-1+2n2-n-1=O(n2)。
相关考题:
以下程序按下面指定的数据给 x 数组的下三角置数,并按如下形式输出,请填空。43 72 6 91 5 8 10#include stdio.hmain(){ int x[4][4],n=0,i,j;for(j=0;j4;j++)for(i=3;i=j; 【 12 】 ) {n++;x[i][j]= 【 13 】 ; }for(i=0;i4;i++){ for(j=0;j=i;j++) printf("%3d",x[i][j]);printf("\n");}}
以下程序运行后的输出结构是。main(){ int i,j,a[][3]={1,2,3,4,5,6,7,8,9}; for(i=0;i3;i++) for(j=i;j3;j++)a[j][i]=0; for(i=0;i3;i++) { for(j=0;j3;j++) printf("%d ",a[i][j]); printf("\n"); }}
阅读下面程序: include void main() { int i,j,row=0,column=0,m; static int a[3] 阅读下面程序:include <iostream.h>void main(){int i,j,row=0,column=0,m;static int a[3][3]={ 100,28,72,-30,2,-100};m=a[0][0];for (i=0;i<3;i++)for (j=0;j<3;j++)if (a[i][j]<m){m=a[i][j];row=i;column=j;}cout<<m<<","<<row<<","<<column<<endl;}该程序的功能是【 】,其执行结果为上丝【 】。
有以下程序#include stdio.hmain(){ int i,j,m=55;for(i=1;i=3;i++)for(j=3;j=i;j++)m=m%j;printf("%d\n",m);}程序的运行结果是A.0B.1C.2D.3
以下程序运行后的输出结果是【13】。includestdio.hmain(){ int n[2],i,j;for(i=0;i2;i++)n[i]=0;for(i=0;i2;i++)for(j=0;j2;j++)n[j]=n[i]+1;printf("%d\n",n[1]);}
以下程序的输出结果是 ( ) main( ) { int n[3] [3],i,j; for (i=0;i<3;i+ +) for(j=0;i<3;++) n[i][j]=i+j; for(i=0;i<2;i++) for(j=0,j<2;j++) n[i+1][j+1]+=[i][j]; printf("%d\n",n[1][j]); }A.14B.0C.6D.值不确定
下列程序的输出结果是 #include"stdio.h" #define N 3 #define M 3 void fun(int a[M][N]) { printf("%d\n",*(a[1]+2));} main() { int a[M][N]; int i,j; for(i=0;i<M;i++) for(j=0;j<N;j++) a[i][j]=i+j-(i-j); fun(a);}A.3B.4C.5D.6
以下程序的执行结果是______。 main() { int i,j,m=O,n=0; for (i=0;i<2;i++) {for (j=0;j<2;j++) if(j>=i) m=1;n++; printf("%d\n",n); } }A.4B.2C.1D.0
下面这个程序段的时间复杂度是( )。 for (i=1; i<n; i++) { y=y+1; for (j=0;j<=(2*n);j++) X++; }A.O(log2n)B.O(n)C.0(nlog2n)D.O(n2)
有以下程序 main() { int n[3],i,j; for(i=0;i<3;i++)n[i]=0; for(i=0;i<2,i++) for(j=0;j<2;j++)n[j]=n[i]+1; printf("%d\n",n[1]); } 程序运行后的输出结果是( )A.2B.1C.0D.3
有以下程序main(){ int n[3],i,j; for(i=0;i3;i++) n[i]=0; for(i=0;i2;i++) for(j=0;j2;j++) n[j]=n[i]+1; printf( "%d\n",n[1]);}程序运行后的输出结果是A.2 B.1C.0 D.3
有以下程序includestdio.hmain( ){int n[2l,ij;for(i=0;i2;i++)n[i]=0;for(i=0;i2;i++)for(j=0;j2;j++)n[j]=n[i]+1;printf(”%d\n”,n[1]);}程序运行后的输出结果是________ 。
分析下列程序,其最终执行结果是______。 main() { int n[3],i,j,k; for(i=0;i<3;i++)n[i]=O; k=2; for(i=0;i<k;i++) for(j=0;j<k;j++) n[j]=n[i]-1; printf("%d\n",n[0]); }A.-2B.-1C.0D.-3
下列程序的输出结果是 #include"stdio.h" #define N3 #define M3 void fun(int a[M][N]) { printf("%d\n",*(a[1]+2));} main() { int a[M][N]; int i,j; for(i=0;i<M;i++) for(j=0;j<N;j++) a[i][j]=i+j-(i-j); fun(a);}A.3B.4C.5D.6
下面程序段的时间复杂度是(9)。for(i=0,k=0;<n;1++){ k+=A[i][j]; for(j=1;j<m;j++) A[i][j]=1}A.O(n)B.O(m+n+1)C.O(m+n)D.O(m*n)
下面程序的输出结果是()。include using namespace std;void main( )int i,j,m=0,n=0; 下面程序的输出结果是( )。 #include <iostream> using namespace std; void main( ) int i,j,m=0,n=0; for(i=0;i<2;i++) for(j=0;j<2;j++) if(j> =i) m=1;n++; cout<<m<<endl; cout<<n;A.1 1B.1 4C.1 6D.0 2
下列程序的时间复杂度为( )。 for (i=l;i<2n;i++) { y++; for(j=0;j<a3n;j++) x++; }A.0(n-1)B.O(2n)C.0(n2)D.O(log2n)
下面程序的运行结果是#includestdio.hvoid delch(char *s){ int i,j;char *a;a=s;for(i=0,j=0;a[i]!=′\n′;i++)if(a[i]=′0′ a[i]=′9′){s[j]=a[i]; j++;}s[j]=′\0′;}main(){ char *item="a34bc";delch(item);printf("\n%s",item);}A.abcB.34C.a34D.a34bc
下面的程序段运行后,输出结果是 int i,j,x=0; static int a[8][8]; for(i=0;i<3;i++) for(j=0;j<3;j++) a[i][j]=2*i+j; for(i=0;i<8;i++) x+=a[i][j]; printf("%d",x);A.9B.不确定值C.0D.18
试题13以下程序运行后的输出结果是______.#include stdio.hmain(){ int n[2], i, j;for(i=0; i2;i++) n[i]=0;for(i=0; i2; i++)for(j=0; j2; j++) n[j]=n[i]+1;printf(“%d\n”, n[1]);}
下列程序段的时间复杂度为()。for(i=0;i<m;i++)for(j=0;j<t;j++)e[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];A.O(m×n×t)B.O(m+n+t)C.O(m×t+n)D.O(m+n×t)
问答题考虑下面的程序: for (i=0;i20;i++) for(j=0;j10;j++) a[i]:=a[i]×j 试举例说明该程序的空间局部性和时间局部性。