1-1
算法分析的两个主要方面是时间复杂度和空间复杂度的分析。 (1分)
T
1-2
N^2logN和NlogN^2具有相同的增长速度。 (2分)
F: N^2logN较快 ,取对数对增长影响还是蛮大的,毕竟裸的logn函数后期增长率趋近于零
1-3
2^N和N^N具有相同的增长速度。 (2分)
F: N^N炒鸡快
1-4
100logN是O(N)的。 (1分)
F:大O表示法是不看系数的,所以是O(logN)的
1-5
(NlogN)/1000是O(N)的。 (1分)
F:是 O(nlogn)的
1-6
在任何情况下,时间复杂度为O(n2) 的算法比时间复杂度为O(n*logn)的算法所花费的时间都长。 (1分)
F:具体问题具体分析
1-7
对于某些算法,随着问题规模的扩大,所花的时间不一定单调增加。 (1分)
T
2-1
下面代码段的时间复杂度是(2)。(2分)
x=n; //n>1
y=0;
while( x≥(y+1)*(y+1) )
y++;
2-2
下列代码
if ( A > B ) {
for ( i=0; ii; j-- )
A += B;
}
else {
for ( i=0; ii; j-- )
A += B;
}
的时间复杂度是:(2分)
2-3
下列函数
int func ( int n )
{ int i = 0, sum = 0;
while ( sum < n ) sum += ++i;//等差数列求和
return i;
}
的时间复杂度是:(2分)
2-4
下列代码
for(i=0; i0; j/=2)
printf(“%d\n”, j);
的时间复杂度是: (3分)
2-5
下面代码段的时间复杂度是()。 (2分)
x=0;
for( i=1; i
2-6
要判断一个整数N(>10)是否素数,我们需要检查3到√N之间是否存在奇数可以整除N。则这个算法的时间复杂度是:(2分)
2-7
下列函数中,哪个函数具有最慢的增长速度:(2分)
2-8
给定N×N×N的三维数组A,则在不改变数组的前提下,查找最小元素的时间复杂度是:(2分)
2-9
计算机算法指的是()。 (2分)
2-10
计算机算法必须具备输入、输出和()等五个特性。 (2分)