數據結構與算法(習題)
第六章 圖
- 若一個有向圖的鄰接距陣中,主對角線以下的元素均為零,則該圖的拓撲有序序列( )。
A. 存在
B. 不存在 - 下面關於求關鍵路徑的說法不正確的是( )。
A. 求關鍵路徑是以拓撲排序為基礎的
B. 一個事件的最早開始時間同以該事件為尾的弧的活動最早開始時間相同
C. 一個事件的最遲開始時間為以該事件為尾的弧的活動最遲開始時間與該活動的持續時間的差
D. 關鍵活動一定位於關鍵路徑上 - 圖中有關路徑的定義是( )。
A. 由頂點和相鄰頂點序偶構成的邊所形成的序列
B. 由不同頂點所形成的序列
C. 由不同邊所形成的序列
D. 上述定義都不是 - 下列說法不正確的是( )。
A. 圖的遍歷是從給定的源點出發每一個頂點僅被訪問一次
B. 遍歷的基本算法有兩種:深度遍歷和廣度遍歷
C. 圖的深度遍歷不適用於有向圖
D. 圖的深度遍歷是一個遞歸過程 - 設無向圖的頂點個數為 n,則該圖最多有( )條邊。
A. n-1
B. n(n-1)/2
C. n(n+1)/2
D. 0
E. n2 - (判斷題) 無向圖的鄰接矩陣一定是對稱矩陣,有向圖的鄰接矩陣一定是非對稱矩陣。( )
- 有向圖中頂點 V 的度等於其鄰接矩陣中第 V 行中的 1 的個數。( )
- 需要借助於一個隊列來實現 DFS 算法。( )
- 廣度遍歷生成樹描述了從起點到各頂點的最短路徑。( )
- 最小生成樹問題是構造連通網的最小代價生成樹。( )
- 連通圖上各邊權值均不相同,則該圖的最小生成樹是唯一的。( )
- 不同的求最小生成樹的方法最后得到的生成樹是相同的。( )
- 拓撲排序算法把一個無向圖中的頂點排成一個有序序列。( )
- 在表示某工程的 AOE 網中,加速其關鍵路徑上的任意關鍵活動均可縮短整個工程的完成時間。( )
- 在 AOE 圖中,關鍵路徑上活動的時間延長多少,整個工程的時間也就隨之延長多少。( )
- (簡答題)根據鄰接表寫遍歷序列

- 按照Prim方法,從頂點1 出發,求該網的最小生成樹的產生過程

- 按照Kruskal方法,求該網的最小生成樹的產生過程

- 根據 AOE 網,求關鍵路徑

- Dijkstra算法

第七章 查找
-
(簡答題)已知鍵值序列為{38,47,59,4,40,25,20,22}。按照給定的順序輸入構造一棵平衡二叉排序樹,畫出所建的平衡二叉排序樹。
-
已知鍵值序列為{38,47,59,4,40,25,20,22}。(1)按照給定的順序輸入構造一棵二叉排序樹,畫出所建的二叉排序樹;並計算在等概率的情況下查找成功的平均查找長度;(2)畫出在所建的二叉排序樹中刪除47后的二叉排序樹.
-
設鍵值集合為{32,50,26,88,49,89,55,60,75},散列函數為h(x) = x % 13,表長為13。采用鏈地址法解決沖突時,請畫出相應的散列表;查找55、75各要比較多少次
-
設鍵值集合為{32,50,26,88,49,89,55,60,75},散列函數為h(x) = x % 13,表長為13。采用平方探測再散列法解決沖突,請畫出相應的散列表;查找55、75各要比較多少次?計算在等概率的條件下查找成功的平均檢索長度?
-
設有一組關鍵字{6,13,16,18,19,25,26,30,45,58,67,74,88,91,118,124,137},采用二分查找,(1)畫出折半查找的二分查找判定樹;並計算在等概率情況下查找成功的平均查找長度ASL;(2)查找失敗最多需要比較幾次?
1. 常見的平均查找長度總結
2. 鏈地址法和線性探測法求查找成功與不成功的平均查找長度ASL
3. 詳細圖解什么叫平方探查法即二次探測再散列和線性探測再散列(數據結構 哈希函數 哈希沖突)
4. 關於ASL(平均查找長度)的簡單總結
第八章 排序
-
下列排序方法中,哪一個是穩定的排序方法?( )
A. 直接選擇排序
B. 二分法插入排序
C. 希爾排序
D. 快速排序 -
比較次數與排序的初始狀態無關的排序方法是( )。
A. 直接插入排序
B. 氣泡排序
C. 快速排序
D. 簡單選擇排序 -
數據序列(2,1,4,9,8,10,6,20)只能是下列排序算法中的( )的兩趟排序后的結果。
A. 快速排序
B. 冒泡排序
C. 選擇排序
D. 插入排序 -
下列排序算法中( )排序在一趟結束后不一定能選出一個元素放在其最終位置上。
A. 選擇
B. 冒泡
C. 歸並
D. 堆 -
下列排序算法中,占用輔助空間最多的是:( )
A. 歸並排序
B. 快速排序
C. 希爾排序
D. 堆排序 -
就排序算法所用的輔助空間而言,堆排序,快速排序,歸並排序的關系是 ( )
A. 堆排序〈 快速排序〈歸並排序
B. 堆排序〈 歸並排序〈 快速排序
C. 堆排序〉 歸並排序 〉快速排序
D. 堆排序 > 快速排序 > 歸並排序 -
若需在 O(nlog2n)的時間內完成對數組的排序,且要求排序是穩定的,則可選擇的排序方法是( )。
A. 快速排序
B. 堆排序
C. 歸並排序
D. 直接插入排序 -
下列排序算法中,在每一趟都能選出一個元素放到其最終位置上,並且其時間性能受數據初始特性影
響的是:( )。A. 直接插入排序
B. 快速排序
C. 直接選擇排序
D. 堆排序 -
對 n 個記錄的文件進行堆排序,最壞情況下的執行時間是多少?( )
A. O(log2n)
B. O(n)
C. O(nlog2n)
D. O(n*n) -
下列排序算法中( )不能保證每趟排序至少能將一個元素放到其最終的位置上。
A. 快速排序
B. shell 排序
C. 堆排序
D. 冒泡排序 -
(簡答題)
已知待排序序列為{38,125,474,368,16,30,590,372},
(1)給出每一趟歸並排序的結果。
(2)畫出初建的大頂堆,並給出第一趟、第二趟堆排序的結果。
(3)采用基數排序,給出第一趟、第二趟基數排序的結果。
(4)歸並排序、堆排序和基數排序中是否存在不穩定的排序方法?給出其中的不穩定排序方法,並證明其不穩定性。
答案
第六章
- A
鄰接矩陣的主對角線以下元素均為零說明 -> 無環 -> 則拓撲有序序列存在 - C

- A
- C
- B
- ×
- ×
- ×
- ×
- √
- √
- ×
- ×
- ×
- √



18.

19.

20.

第七章

2.

3.

4.

5. 從 0 或 1 起 標序號 -> 首尾相加除以 2 -> 再向下取整

第八章
參考文章
記住口訣,快歸空間大,其中歸並排序更大

- B
- D
- A
- C
- A
- A
- C
- B
- C
- B




