网站建设服务器
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。