陈奇网络工作室

计算算法的时间复杂性

网站建设服务器

1.常用算法的时间复杂度比较;

常见算法的时间复杂度如下:

1)

1)表示基本语句的执行次数是常数。一般来说,只要算法中没有循环语句,其时间复杂度为 1)。 logn)、on)、onlogn)、 N2)和 n3)称为多项式时间,而 2)和on!)称为指数时间。计算机科学家普遍认为前者是一种有效的算法,并将这类问题称为P类问题,而将后者称为NP类问题。

这个只能算出基本的时间复杂度,具体操作也会和硬件有关。

2.计算时间复杂性的相关主题;

一、多项选择题

1.一个算法应该是()。

A.方案b .解题步骤描述C .应满足五个基本特征D. A和C

1.B

程序不一定满足有限性,比如无限循环,操作系统等。但算法必须具有有限性。算法代表解决问题的步骤描述,而程序是算法在计算机上的具体实现。

2.一个算法的时间复杂度为O(n2),表明该算法是()。

A.问题的规模是n2 B,执行时间等于n2。

C.执行时间与n2成正比。d .问题的规模与n2成正比。

2.C

时间复杂度为O(n2),即算法的执行时间为T(n)=c * n2(c为比例常数),即T(n)=O(n2)。时间复杂度T(n)是问题规模n的函数,问题规模仍然是n而不是n2。

3.下列算法的时间复杂度是()。

无效资金(整数){

int I=l;

while(i=n)

I=I * 2;

}

A.O(n)b . O(N2)c . O(nlog2n)d . O(log2n)

3.D

基本操作是i=i*2。设其执行时间为T(n),则2T(n)=n,即T(n)=log2n=O(log2n)。

4.设n为描述问题规模的非负整数,下列程序片段的时间复杂度为()。

x=2;

while(xn/2)

x=2 * x

A.O(log2n)b . O(n)c . O(nlog2n)d . O(N2)

4.A

在程序中,最常执行的语句是“x=2*x”。设这个语句执行T次,那么2t ^ 1=n/2,所以t=log2(n/2)-1=log2n-2,T(n)=O(log2n)。

5.【2012年计算机联考真题】

求整数n (n=0)的阶乘的算法如下,其时间复杂度为()。

int fact(int n){

if (n=l)返回1;

返回n *事实(n-1);

}

A.O(log2n)b . O(n)c . O(nlog2n)d . O(N2)

5.B

这个问题是求阶乘n!的递归代码,即n * (n-1) *.* 1执行n次乘法运算,所以T(n)=O(n)。

6.有以下算法,其时间复杂度为()。

无效资金(整数){

int I=0;

while(i*i*i=n)

我;

}

A.O(n)b(n)O(n)c d

7.程序段

for(I=n-l;il;我—)

for(j=1;纪;j)

if (A[j]A[j l])

A[j]和A[j 1]互换;

其中n为正整数,最差情况下最后一行的语句频率为()。

A.O(n) B. O(nlogn) C. O(n3) D. O(n2)

8.以下算法中带下划线语句的执行次数是()。

int m=0,I,j;

for(I=l;I=n;我)

for(j=1;j=2 * I;j)

m;

A.n(n 1)b . n . c . n 1d . N2

更多关于云服务器,域名注册,虚拟主机的问题,请访问西部数码代理官网:www.chenqinet.cn。

相关推荐

后台-系统设置-扩展变量-手机广告位-内容页底部广告位3