软考中级

设某算法的计算时间可用递推关系式T(n)=2T(n/2)+n表示,则该算法的时间复杂度为(1)。A.O(lgn)B.O(nlgn)C.O(n)D.O(n2)

题目

设某算法的计算时间可用递推关系式T(n)=2T(n/2)+n表示,则该算法的时间复杂度为(1)。

A.O(lgn)

B.O(nlgn)

C.O(n)

D.O(n2)

如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

某算法的时间复杂度表达式为T(n)=an2+bnlgn+cn+d,其中,n为问题的规模,a、b、c和d为常数,用O表示其渐近时间复杂度为( )。

A.(n2)

B.O(n)

C.O(nlgn)

D.O(1)


正确答案:A
解析:时间复杂度是度量算法执行的时问长短。根据表达式T(n)=an2+bnlgn+cn+d可知当n无限大时,T(n)=an2,故时间复杂度为O(n2)

第2题:

某算法的时间代价递推关系为T(n)=2T(n/2)+n,T(1)=1,则该算法的时间复杂度为______。

A.O(n)

B.

C.O(n2)

D.O(1)


正确答案:B
解析:由时间代价严格推出时间复杂度比较复杂,对于这种题,可用特例验证,不过需要注意的是特例不能取太少,至少n取到5,这样规律基本就可以确定了。
  T(1)=1
  T(2)=2T(1)+2=4
  T(3)=2T(1)+3=5
  T(4)=2T(2)+4=12
  T(5)=2T(2)+5=13
  很容易排除D选项,其递增速率介于O(n)和O(nsup>2</sup>)之间,故选B。

第3题:

●若采用邻接矩阵结构存储具有n个顶点的图,则对该图进行广度优先遍历的算法时间复杂度为 (47) 。

(47) A.O(n)

B.O(n2)

C.O(n2+1)

D.以上都不对


正确答案:B
【解析】n个顶点的图的邻接矩阵是一个n阶方阵,有n行n列。从顶点vi出发,对图进行广度优先遍历,需对矩阵的第i行逐列检测非零元(若a[i][j]1,则说明顶点vj与vi之间有边存在,vj就是vi的邻接顶点)。根据广度优先遍历的思想,每一个顶点都要轮换着做出发顶点,即矩阵的每一行都将要被逐列检测。显然,算法中要用一个两重循环来组织逐行逐列的检测操作,所以,算法的时间复杂度是n的平方阶。

第4题:

● 设某算法的计算时间表示为递推关系式T(n)= T(n-1) + n (n>0) 及T(0)=1,则该算法的时间复杂度为 (65) 。


正确答案:D

第5题:

下面算法的时间复杂度为(34)。 int f(unsigned int n){ if(n=0||n==1)return 1; else return n*f(n-1); }

A.O(1)

B.O(n)

C.O(n2)

D.O(n!)


正确答案:B
解析:连同其他函数调用f和f递归调用次数,计算f(n)需要执行n次函数调用。

第6题:

假设某算法的计算时间可用递推关系式T(n)=2T(n/2)+n,T(1)=1表示,则该算法的时间复杂度为()

A.O(logn)

B.O(n*logn)

C.O(n)

D.O(n^2)


正确答案:B

第7题:

一个算法的语句执行次数为(2n2+2nlog2n+4n-7),则其时间复杂度为()。

A.O(n2)

B.O(nlog2n)

C.O(n)

D.O(2n2)


正确答案:A

第8题:

设某算法的计算时间可用递推关系式T(n)=2T(n/2)+n表示,则该算法的时间复杂度为(59)。

A.O(1gn)

B.O(nlgn)

C.O(n)

D.O(n2)


正确答案:B
解析:本题考查的是算法的时间复杂度概念。

第9题:

算法的主运算如下,其中i的初值为1,s的初值为0,“←”为赋值号。 while i<n do { for j←1 to n do s←s+a[i,j] i←i*2; 则该算法的时间复杂度为 ( )

A.O(2n)

B.O(n+log2n)

C.O(nlog2n)

D.O(n2)


正确答案:C

第10题:

若n表示问题的规模、O(f(n))表示算法的时间复杂度随n变化的增长趋势,则算法时间复杂度最小的是(59)。

A.O(n2)

B.O(n)

C.O(logn)

D.O(nlogn)


正确答案:C
解析:本题考查的是算法消耗的时间度量。一般情况下,一个算法中基本操作重复执行的次数是问题规模n的某个函数f(n),算法的时间量度记作T(n)=O(f(n)),它表示随问题n的增大,算法执行时间的增长率和 f(n)的增长率相同,称做算法的渐进时间复杂度,简称时间复杂度。显然,在O(n2)、O(n)、 O(logn)和O(nlogn)中,复杂度最小的是O(logn)。

更多相关问题