下面程序段的时间复杂度为()。 i=1; while(i<=n

题目

下面程序段的时间复杂度为()。 i=1; while(i<=n)i=i*3;

  • A、O(n)
  • B、O(3n)
  • C、O(log3n)
  • D、O(n3
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

下面程序段的时间复杂度为()。y=n;while(y>1)y=y/2;


参考答案:O(log2n)

第2题:

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

第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题:

下列程序段的时间复杂度是()for(i=1;i<=n;i+=2)for(j=1;j<=m;j++)x=x+1;


参考答案:O(n2)

第5题:

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

第6题:

阅读分析本题程序段后回答问题:(1)程序实现了什么功能?(2)写出程序的输出结果

阅读分析本题程序段后回答问题:

(1)程序实现了什么功能?(3分)

(2)写出程序的输出结果;(4分)

(3)写出算法的时间复杂度。(3分)

#include "stdio.h"

#define N 7

typedef int datatype;

void main(void)

{ int 1,j,t;

datatype data[N]={1,2,3, 4,5,6, 7}; /*处理的数据

*/

i=0;

j=N-1;

while (i<j)

{ t=data[i];

data[i++ ]=data[j];

data[j--]=t;

}

printf(”运行结果为: \n"); 

for(i= =0;i<N-1;i++)

printf("%d; ",data[i]);

}


答案:

(1)实现的功能:将数组里的数组逆序输出

(2)7;6;5;4;3;2

(3)时间复杂度为n

解析:

因为i<N-1,所以最后输出的结果中不会有1

第7题:

程序段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

第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题:

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

第10题:

下列程序段的时间复杂度为()。

A.O(i+j)

B.O(n)

C.O(n2)

D.O(i*j)


正确答案:C