下面程序段的时间复杂度是() s=0; for(i=0;i<n;

题目

下面程序段的时间复杂度是() s=0; for(i=0;i

参考答案和解析
正确答案:O(n2
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

下面程序的运行结果是()。includevoid del(char*s){int i,j;char *a;a=s;for(i=0,j=0;a

下面程序的运行结果是( )。 #include<stdio.h> void del(char*s) { int i,j; char *a; a=s; for(i=0,j=0;a[i]!='\0';i++) { if(a[i]>='0'&&a[i]<='9') { s[j]=a[i]; j++; } s[j]='\0'; }} main() {char s[]="aa89gggh"; del(s); printf("\n%s",s); }

A.aa

B.89

C.gggh

D.aa89gggh


正确答案:B
解析:本题中del(char*s)函数实现的功能是:逐个读入s数组中的字符,如果遇到数字,则将其重新存在s中,遇到非数字字符则跳过。所以最后输出的应该是字符串s中的所有数字。

第2题:

程序段s=i=0;do{i=i+1;s=s+i;}while(i=n);的时间复杂度为()。

A、O(n)

B、O(nlog2n)

C、O(n)

D、O(n/2)


参考答案:A

第3题:

下面程序段的时间复杂度为( )。for (i=0; ifor (j=0; jA[i][j]=i*j;

A. O (m2)

B. O (n2)

C. O (m*n)

D. O (m+n)


参考答案:C

第4题:

设n为正整数。则下面程序段的时间复杂度为()。 k=0; for(i=1;i<=n;i++){ for(j=i;j<=n;j++) @ k++; }

A.O(1)

B.O(n)

C.O(nlogn)

D.O(n2)


参考答案:D

第5题:

下面程序段的时间复杂度是()。s=0;for(i=0;ifor(j=0;js+=B[i][j];sum=s;

A、O(m2)

B、O(n2)

C、O(m*n)

D、O(m+n)


参考答案:B

第6题:

下面这个程序段的时间复杂度是( )。 for (i=1; i<n; i++) { y=y+3; for (j=0;j<=(2*n);j++) x++; }

A.O(log2n)

B.O(n)

C.O(nlog2n)

D.O(n2)


正确答案:D
解析:语句的频度指的是该语句重复执行的次数。一个算法中所有语句的频度之和构成了该算法的运行时间。在本例算法中,语句①的频度是n-1,语句②的频度是(n-1)(2n+1)-2n2-n-1。则该程序段的时间复杂度是T(n)=n-1+2n2-n-1=O(n2)。

第7题:

下列程序段的时间复杂度为()。i=0,s=0;while(sn){s=s+i;i++;}

A、O(n1/2)

B、O(n1/3)

C、O(n)

D、O(n2)


参考答案:A

第8题:

下面程序段的时间复杂度是()。for(i=0;in;i++)for(j=1;jm;j++)A[i][j]=0;

A、O(n)

B、O(m+n+1)

C、O(m+n)

D、O(m*n)


正确答案:D

第9题:

设n为正整数。则下面程序段的时间复杂度为()。 i=1;k=0; while(i<=n-1){ @ k+=10*i; i++; }

A.O(1)

B.O(n

C.O(nlogn)

D.O(n2)


参考答案:B

第10题:

下面程序段的时间复杂度为 ( ) 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)


正确答案:C
解析:此程序的时间复杂度即为程序中循环次数的时间耗费。由程序为嵌套循环,外层循环的时间复杂度T(n1)=m,内层循环的时间复杂度T(n2)=n,则此程序的时间复杂度T(n)=m*n,即为0(m*n)。

更多相关问题