1-1
100logN是O(N)的。 (1分)
T
F
不明白為什么是正確的,感覺應該是錯誤的
1-2
2^N^和N^N^具有相同的增長速度。 (2分)
T
F
1-3
對於某些算法,隨着問題規模的擴大,所花的時間不一定單調增加。 (1分)
T
F
1-4
(NlogN)/1000是O(N)的。 (1分)
T
F
1-5
N^2^logN和NlogN^2^具有相同的增長速度。 (2分)
T
F
1-6
在任何情況下,時間復雜度為O(n^2^) 的算法比時間復雜度為O(n*logn)的算法所花費的時間都長。 (1分)
T
F
1-7
算法分析的兩個主要方面是時間復雜度和空間復雜度的分析。 (1分)
T
F
2-1
要判斷一個整數N(>10)是否素數,我們需要檢查3到√N之間是否存在奇數可以整除N。則這個算法的時間復雜度是:(2分)
O(0.5logN)
O(√NlogN)
O(√N)
O(N/2)
2-2
下面代碼段的時間復雜度是()。 (2分)
x=0;
for( i=1; i<n; i++ )
for ( j=1; j<=n-i; j++ )
x++;
O(2^n^)
O(n^3^)
O(n^2^)
O(n)
2-3
下列函數中,哪個函數具有最慢的增長速度:(2分)
N(logN)^2^
N^2^logN
NlogN^2^
N^1.5^
2-4
下面代碼段的時間復雜度是()。(2分)
x=n; //n>1
y=0;
while( x≥(y+1)*(y+1) )
y++;
O(n)
O(n^1/2^)
O(log2n)
O(1)
2-5
下列代碼
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;
}
的時間復雜度是:(2分)
O(N^6^)
O(N^5^)
O(N^4^)
O(N^3^)
2-6
下列函數
int func ( int n )
{ int i = 0, sum = 0;
while ( sum < n ) sum += ++i;//等差數列求和1+2+...=n
return i;
}
的時間復雜度是:(2分)
O(n)
O(nlogn)
O(n^1/2^)
O(logn)
2-7
給定N×N×N的三維數組A,則在不改變數組的前提下,查找最小元素的時間復雜度是:(2分)
O(N^3^)
O(N^3^logN)
O(NlogN)
O(N^2^)
2-8
下列代碼
for(i=0; i<n; i++)
for(j=i; j>0; j/=2)//等比數列
printf(“%d\n”, j);
的時間復雜度是: (3分)
O(NlogN)
O(N^2^)
O(N)
O(N x i)
2-9
計算機算法指的是()。 (2分)
調度方法
解決問題的有限運算序列
排序方法
計算方法
2-10
計算機算法必須具備輸入、輸出和()等五個特性。 (2分)
易讀性、穩定性和安全性
確定性、有窮性和穩定性
可行性、確定性和有窮性
可行性、可移植性和可擴充性