判断题
1-1
算法分析的两个主要方面是时间复杂度和空间复杂度的分析。(T)
提示1:这里不考虑稳定性
1-2
N2logN和NlogN2具有相同的增长速度。(F)
1-3
2N和NN具有相同的增长速度。(F)
1-6
在任何情况下,时间复杂度为O(n2) 的算法比时间复杂度为O(n*logn)的算法所花费的时间都长。(F)
1-7
对于某些算法,随着问题规模的扩大,所花的时间不一定单调增加。(T)
选择题
2-1
下面代码段的时间复杂度是(B)。
x=n; //n>1
y=0;
while( x≥(y+1)*(y+1) )
y++;
A.O(1)
B.O(n1/2)
C.O(n)
D.O(log2n)
提示:把x带进去直接求y
2-2
下列代码
if ( A > B ) {
for ( i=0; i<N*N/100; i++ )
for ( j=N*N; j>i; j-- )
A += B;
}
else {
for ( i=0; i<N*2; i++ )
for ( j=N*3; j>i; j-- )
A += B;
}
的时间复杂度是:B
A.O(N3)
B.O(N4)
C.O(N5)
D.O(N6)
2-3
计算机算法必须具备输入、输出和(B)等五个特性。
A.可行性、可移植性和可扩充性
B.可行性、确定性和有穷性
C.确定性、有穷性和稳定性
D.易读性、稳定性和安全性