1.下列關於數據的邏輯結構的敘述中,不正確的是( )。
C. 數據的邏輯結構與數據的存儲無關
2.關於數據的存儲結構的敘述中,正確的是( )。
B A和C選項描述的均是邏輯結構,D選項數據的存儲結構對數據的運算的具體的實現有影響。
3.按照數據結構中對數據類型的定義,C語言中的復合數據類型指的是( )。
B
4.偽代碼是( )。
D
5.在下面的程序段中,語句x=x+1的頻度為( )
for (i=1;i<= n;i++)
for (j=1;j<= n;j++)
x=x+1;
C 里面的循環j會運行n次,外面的循環i也會運行n次,所以頻度為n2
6.程序段 for (i=n;i>0;i--)
for (j=1;j<i;j++)
if (A[j]>A[j+1])
Swap(A[j],A[j+1]); //將A[j]與A[j+1]對換
其中 n為正整數,則在最壞情況下算法的時間復雜度是( )
D 他的最壞情況就是每一次都滿足A[j]>A[j+1],即頻度為:(n+1)*n/2,所以時間復雜度為:O(n2)
7.以下數據結構中,( )是非線性結構。
A 非線性結構包括:樹、圖、網等
8.在下面的程序段中,對語句x++;的頻度為( )。
for (i=1;i<=n;i++)
for (j=1;j<=i;j++)
for (k=1;k<=j;j++)
x++;
C 根據規律可得,時間頻度為:1+(1+2)+(1+2+3)+......+(1+2+3+......+n),也就是對i=1,i到n,i(i+1)/2求和,解得就是C選項。
9.下面程序段的時間復雜度為( )。
i=1;
while (i<n)
i=i*2;
B 執行log2n次,所以時間復雜度為O(log2n)
10.以下程序段的時間復雜度為( )。
while (i<n){
for (j=1;j<=n;j++) x++;
}
A 對i層要進行log2n次運算,而對於j循環要進行n次運算,所以時間復雜度為O(nlog2n)
11.影響算法的時間復雜度的因素有( )。
AB 影響算法時間復雜度的因素有問題的規模,待處理數據的初態
12.下面說法正確的是( )
BCD 算法原地工作的含義是指不需要任何額外的輔助,算法所需要的輔助空間不隨着問題的規模而變化,是一個確定的值。
13.從邏輯上可以把數據結構分為( )。
BD
14.算法的基本特征有( )。
ABCD
15.關於如下描述,正確的是( )。
void xyz( int a, int b, int &c ) {
if ( a < c ) c =a;
if ( b < c ) c= b;
ABD 這個函數是有窮的,有確定性,可行性,輸入和輸出,是一個算法。易得這個函數的功能是找到a,b,c中的最小值。D選項先10與30比較,可以得c=10,然后c與20比較,保持不變,所以i,j,k的值為:10,20,10
16,通常,設計一個好的算法,應該考慮達到的目標有( )。
17.數據元素是數據的基本單位。
T
18.數據項是數據不可分割的最小單位
19.數據的邏輯結構是指數據的各數據項之間的邏輯關系
F 數據的邏輯結構是數據元素間關系的描述。
20.算法運行所需的存儲空間資源的量稱為空間復雜度。
21.算法可以用不同的語言描述,如果用C 語言或C++語言等高級語言來描述,則算法就是程序了
22.程序一定是算法
F 程序不一定是算法,要滿足有窮性,確定性,可行性,輸入和輸出
23.數據的存儲(物理)結構是指數據在計算機內的存儲形式。
24.數據的邏輯結構說明數據元素之間的邏輯關系,它依賴於計算機的存儲結構.
F 數據的邏輯結構與數據的存儲無關
25.數據操作的定義與具體實現有關
F
26.抽象數據類型的定義僅取決於它的一組邏輯特性,而與在計算機內部如何表示和實現無關,即不論其內部結構如何變化,只要它的數學特性不變,都不影響其外部使用。
27.順序存儲方式的優點是存儲密度大,且插入、刪除運算效率高
F 順序存儲方式的優點是:存儲密度大,缺點是插入、刪除運算效率低
本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。