2017年算法與數據結構模擬試題及答案
想要學好算法與數據結構課程,多做模擬試題是關鍵。以下是陽光網小編要與大家分享的2017年算法與數據結構模擬試題,供大家參考!
2017年算法與數據結構模擬試題一、判斷題
(√)1. 在決定選取何種存儲結構時,一般不考慮各結點的值如何。
(√)2. 抽象數據類型與計算機內部表示和實現無關。
(×)3. 線性表采用鏈式存儲結構時,結點和結點內部的存儲空間可以是不連續的。
(×)4. 鏈表的每個結點中都恰好包含一個指針。
(×)5.鏈表的刪除算法很簡單,因為當刪除鏈中某個結點后,計算機會自動地將后續的各個單元向前移動。 (×)6. 線性表的每個結點只能是一個簡單類型,而鏈表的每個結點可以是一個復雜類型。
(×)7. 順序表結構適宜于進行順序存取,而鏈表適宜于進行隨機存取。
(×)8. 線性表在物理存儲空間中也一定是連續的。
(×)9. 順序存儲方式只能用于存儲線性結構。
(√)10.棧是一種對所有插入、刪除操作限于在表的一端進行的線性表,是一種后進先出型結構。 (√)11.對于不同的使用者,一個表結構既可以是棧,也可以是隊列,也可以是線性表。
(√)12.棧是一種對所有插入、刪除操作限于在表的一端進行的線性表,是一種后進先出型結構。
(√)13.兩個棧共享一片連續內存空間時,為提高內存利用率,減少溢出機會,應把兩個棧的棧底分別設在這片內存空間的兩端。
(×)14.二叉樹的度為2。
(√)15.若二叉樹用二叉鏈表作存貯結構,則在n個結點的二叉樹鏈表中只有n—1個非空指針域。 (×)16.二叉樹中每個結點的兩棵子樹的高度差等于1。
(√)17.用二叉鏈表法存儲包含n個結點的二叉樹,結點的2n個指針區域中有n+1個為空指針。 (√)18.具有12個結點的完全二叉樹有5個度為2的結點。
(√)19.二叉樹的前序遍歷序列中,任意一個結點均處在其孩子結點的前面。
(×)20.在冒泡法排序中,關鍵值較小的元素總是向前移動,關鍵值較大的元素總是向后移動。
(×)21.計算機處理的對象可以分為數據和非數據兩大類。[計算機處理的對象都是數據]
(×)22.數據的邏輯結構與各數據元素在計算機中如何存儲有關。
(×)23.算法必須用程序語言來書寫。
(×)24.判斷某個算法是否容易閱讀是算法分析的任務之一。
(×)25.順序表是一種有序的線性表。[任何數據結構才用順序存儲都叫順序表]
(√)26.分配給順序表的內存單元地址必須是連續的`。
(√)27.棧和隊列具有相同的邏輯特性。[它們的邏輯結構都是線性表]
(√)28.樹形結構中每個結點至多有一個前驅。
(×)29.在樹形結構中,處于同一層上的各結點之間都存在兄弟關系。
(×)30.如果表示圖的鄰接矩陣是對稱矩陣,則該圖一定是無向圖。
(×)31.如果表示圖的鄰接矩陣是對稱矩陣,則該圖一定是有向圖。
(×)32.順序查找方法只能在順序存儲結構上進行。
(×)33.折半查找可以在有序的雙向鏈表上進行。
(√)34.滿二叉樹中不存在度為1的結點。
(×)35.完全二叉樹中的每個結點或者沒有孩子或者有兩個孩子。
(√)36.對n個元素執行快速排序,在進行第一次分組時,排序碼的比較次數總是n-1次。
(√)37.在有向圖中,各頂點的入度之和等于各頂點的出度之和。
2017年算法與數據結構模擬試題二、選擇題
(A)1. 在n個結點的順序表中,算法的時間復雜度是O(1)的操作是:
A) 訪問第i個結點(1≤i≤n)和求第i個結點的直接前驅(2≤i≤n) C) 刪除第i個結點(1≤i≤n)
B) 在第i個結點后插入一個新結點(1≤i≤n) D) 將n個結點從小到大排序
(C)2. 算法分析的目的是:
A) 找出數據結構的合理性 B) 研究算法中的輸入和輸出的關系
C) 分析算法的效率以求改進 D) 分析算法的易懂性和文檔性
(A)3. 算法分析的兩個主要方面是:
A) 空間復雜性和時間復雜性 B) 正確性和簡明性
C) 可讀性和文檔性 D) 數據復雜性和程序復雜性
(C)4. 計算機算法指的是:
A) 計算方法 B) 排序方法 C) 解決問題的有限運算序列 D) 調度方法
(B)5. 計算機算法必須具備輸入、輸出和 等5個特性。
A) 可行性、可移植性和可擴充性 B) 可行性、確定性和有窮性
C) 確定性、有窮性和穩定性 D) 易讀性、穩定性和安全性
(B)6. 一個向量第一個元素的存儲地址是100,每個元素的長度為2,則第5個元素的地址是:
(A)110 (B)108 (C)100 (D)120
(D)下列選項中與數據存儲結構無關的術語是:
A.順序表 B.鏈表 C.鏈隊列 D.棧
(A)7. 鏈接存儲的存儲結構所占存儲空間:
(A)分兩部分,一部分存放結點值,另一部分存放表示結點間關系的指針
(B)只有一部分,存放結點值
(C) 只有一部分,存儲表示結點間關系的指針
(D) 分兩部分,一部分存放結點值,另一部分存放結點所占單元數
(B)8. 帶頭結點的單鏈表head,鏈表為空的判定條件是
(A)head == NULL (B) head->next ==NULL ( C) head->next ==head (D) head!=NULL
(B)9. 一個棧的輸入序列為1,2,3,„,n,若輸出序列的第一個元素是n,輸出第i(1≤i≤n)個元素是。
A) 不確定 B) n-i+1 C) i D) n-i
(B)10. 最大容量為n的循環隊列,隊尾指針是rear,隊頭是front,則隊空的條件是 ( )。
A) (rear+1)% n==front B) rear===front C) rear+1==front D) (rear-l) % n==front
(A)11. 循環隊列A[0..m-1]存放其元素值,用front和rear分別表示隊頭和隊尾,則當前隊列中的元素數是:
(A) (rear-front+m)%m (B) rear-front+1 (C) rear-front-1 (D) rear-front
(B)12. 若用一個大小為6的數值來實現循環隊列,且當前rear和front的值分別為0和3,當從隊列中刪除一個元素,再加入兩個元素后,rear和front的值分別為:
(A) 1和5 (B) 2和4 (C) 4和2 ( D) 5和1
(C)13. 按照二叉樹的定義,具有3個結點的二叉樹有( )種。
A) 3 B) 4 C) 5 D) 6 [利用排列組合知識來做]
(B)14. 若一棵二叉樹中度為l的結點個數是3,度為2的結點個數是4,則該二叉樹葉子結點的個數是:
(A) 4 (B) 5 (C) 7 (D) 8
(B)15. 具有n(n>0)個結點的完全二叉樹的深度為:
(A) log2(n) (B) log2(n) (C) log2(n) +1 (D) log2(n)+1
(D)16. 對一個滿二叉樹,m個葉子,n個結點,深度為h,則:
(A) n = h+m (B) h+m = 2n (C) m = h-1 (D) n = 2h-1
(C)17.在高度為h的完全二叉樹中,表述正確的是( )
A.度為0的結點都在第h層上 B.第i(1≤i
C.第i(1≤i
(B)18. 深度為5的二叉樹至多有( )個結點。
A) 32 B) 31 C) 16 D) 10
(A)19. 用鄰接表表示圖進行深度優先遍歷時,通常采用( )結構來時實現算法。
A) 棧 B) 隊列 C) 樹 D) 圖
(D)20. 對N個記錄作順序查找時,當查找成功時,平均查找長度是( )。
A) N2 B) N2/2 C) N D)(N﹢1)/2
(B)21. 當一個有n個頂點的圖用鄰接矩陣A表示時,頂點Vi的度是( )。
(A)A[i,j] B) A[i,j] C)A[j,i] D)A[i,j]+A[j,i]
i1nnnnnj1i1i1j1
(C)22.某算法的時間復雜度為O(2n),表明該算法的( )
A.問題規模是2n B.執行時間等于2n
【2017年算法與數據結構模擬試題及答案】相關文章: