某个算法的时间复杂度递归式T(n)=T(n-1)+n,其中n为问题的规模,则该算法的渐进时间复杂度为(62),若问题的规模增加了16倍,则运行时间增加(63)倍。 A.O(n) B.O(nlgn) C.O(n2) D.O(n2lgn)

题目
某个算法的时间复杂度递归式T(n)=T(n-1)+n,其中n为问题的规模,则该算法的渐进时间复杂度为(62),若问题的规模增加了16倍,则运行时间增加(63)倍。

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

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

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

A.O(1gn)

B.O(nlgn)

C.O(n)

D.O(n2)


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

第4题:

若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)。

第5题:

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

A.O(n)

B.O(n-1)

C.O(n2)

D.O(log2n)


正确答案:B

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

某算法的时间复杂度可用递归式[*],表示,若用[*]表示该算法的渐进时间复杂度的紧致界,则正确的是(62)。

A.(nlg2n)

B.(nlgn)

C.(n2)

D.(n3)


正确答案:A
解析:本题利用递归树方法求解。得到的递归树如下图所示:

 由于C属于O(nlg2n)且C属于Ω(nlg2n),所以总的时间复杂度为A。

第9题:

下面算法的时间复杂度为(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次函数调用。

第10题:

(接上一题)则时间和空间复杂度分别为(63)。

A.O(n2)和O(n)

B.O(nlgn)和O(n)

C.O(n2)和O(1)

D.O(nlgn)和O(1)


正确答案:B
同上一题解析

更多相关问题