数据结构练习题——图(含应用题)
1.選擇題
(1)在一個圖中,所有頂點的度數之和等于圖的邊數的(?? )倍。
? A.1/2??????????? B.1???????????? C.2???????????? D.4
答案:C
(2)在一個有向圖中,所有頂點的入度之和等于所有頂點的出度之和的(?? )倍。
? A.1/2??????????? B.1???????????? C.2???????????? D.4
答案:B
解釋:有向圖所有頂點入度之和等于所有頂點出度之和。
(3)具有n個頂點的有向圖最多有(?? )條邊。?
A.n?????????? ???B.n(n-1)???????? C.n(n+1)????? ??D.n2
答案:B
解釋:有向圖的邊有方向之分,即為從n個頂點中選取2個頂點有序排列,結果為n(n-1)。
(4)n個頂點的連通圖用鄰接距陣表示時,該距陣至少有(?? )個非零元素。
A.n?????????? ???B.2(n-1)???????? C.n/2????? ?????D.n2
答案:B
(5)G是一個非連通無向圖,共有28條邊,則該圖至少有(?? )個頂點。
A.7?????????? ???B.8??? ?????????C.9??? ?????????D.10
答案:C
解釋:8個頂點的無向圖最多有8*7/2=28條邊,再添加一個點即構成非連通無向圖,故至少有9個頂點。
(6)若從無向圖的任意一個頂點出發進行一次深度優先搜索可以訪問圖中所有的頂點,則該圖一定是(?? )圖。
A.非連通 ????????B.連通?? ???????C.強連通? ??????D.有向
答案:B
解釋:即從該無向圖任意一個頂點出發有到各個頂點的路徑,所以該無向圖是連通圖。
(7)下面( )算法適合構造一個稠密圖G的最小生成樹。
A. Prim算法 ?????B.Kruskal算法?? C.Floyd算法??? ?D.Dijkstra算法
答案:A
解釋:Prim算法適合構造一個稠密圖G的最小生成樹,Kruskal算法適合構造一個稀疏圖G的最小生成樹。
(8)用鄰接表表示圖進行廣度優先遍歷時,通常借助(?? )來實現算法。
A.棧??????????? B. 隊列??????????? C.? 樹??????????? D.圖
答案:B
解釋:廣度優先遍歷通常借助隊列來實現算法,深度優先遍歷通常借助棧來實現算法。
(9)用鄰接表表示圖進行深度優先遍歷時,通常借助(?? )來實現算法。
A.棧??????????? B. 隊列??????????? C.? 樹??????????? D.圖
答案:A
解釋:廣度優先遍歷通常借助隊列來實現算法,深度優先遍歷通常借助棧來實現算法。
(10)深度優先遍歷類似于二叉樹的(?? )。
A.先序遍歷 ?????B.中序遍歷 ???????C.后序遍歷? ????D.層次遍歷
答案:A
(11)廣度優先遍歷類似于二叉樹的(?? )。
A.先序遍歷 ?????B.中序遍歷 ???????C.后序遍歷? ?????D.層次遍歷
答案:D
(12)圖的BFS生成樹的樹高比DFS生成樹的樹高(?? )。
A.小 ???????????B.相等 ???????????C.小或相等? ?????D.大或相等
答案:C
解釋:對于一些特殊的圖,比如只有一個頂點的圖,其BFS生成樹的樹高和DFS生成樹的樹高相等。一般的圖,根據圖的BFS生成樹和DFS樹的算法思想,BFS生成樹的樹高比DFS生成樹的樹高小。(13)已知圖的鄰接矩陣如圖6.30所示,則從頂點v0出發按深度優先遍歷的結果是(??? )。
???????????????????????? ?? 圖6.30? 鄰接矩陣
(14)已知圖的鄰接表如圖6.31所示,則從頂點v0出發按廣度優先遍歷的結果是(??? ),按深度優先遍歷的結果是(??? )。
圖6.31? 鄰接表
A.0 1 3 2????????????????????????? B.0 2 3 1???????????????? C.0 3 2 1???????????????????????? D.0 1 2 3
答案:D、D
(15)下面(?? )方法可以判斷出一個有向圖是否有環。
A.深度優先遍歷 ?????B.拓撲排序 ?????C.求最短路徑 ????D.求關鍵路徑
答案:B
2.應用題
(1)已知圖6.32所示的有向圖,請給出:
① 每個頂點的入度和出度;? ??
② 鄰接矩陣;
③ 鄰接表;
④ 逆鄰接表。?????????? ??
???????????
答案:
(2)已知如圖6.33所示的無向網,請給出:
① 鄰接矩陣;? ??
② 鄰接表;
③ 最小生成樹
答案:
??
(3)已知圖的鄰接矩陣如圖6.34所示。試分別畫出自頂點1出發進行遍歷所得的深度優先生成樹和廣度優先生成樹。
(4)有向網如圖6.35所示,試用迪杰斯特拉算法求出從頂點a到其他各頂點間的最短路徑,完成表6.9。
表6.9
| D 終點 | i=1 | i=2 | i=3 | i=4 | i=5 | i=6 |
| b | 15 (a,b) | 15 (a,b) | 15 (a,b) | 15 (a,b) | 15 (a,b) | 15 (a,b) |
| c | 2 (a,c) | |||||
| d | 12 (a,d) | 12 (a,d) | 11 (a,c,f,d) | 11 (a,c,f,d) | ||
| e | ∞ | 10 (a,c,e) | 10 (a,c,e) | |||
| f | ∞ | 6 (a,c,f) | ||||
| g | ∞ | ∞ | 16 (a,c,f,g) | 16 (a,c,f,g) | 14 (a,c,f,d,g) | |
| S 終點集 | {a,c} | {a,c,f} | {a,c,f,e} | {a,c,f,e,d} | {a,c,f,e,d,g} | {a,c,f,e,d,g,b} |
???
(5)試對圖6.36所示的AOE-網:
① 求這個工程最早可能在什么時間結束;? ??
② 求每個活動的最早開始時間和最遲開始時間;
③ 確定哪些活動是關鍵活動
答案:按拓撲有序的順序計算各個頂點的最早可能開始時間Ve和最遲允許開始時間Vl。然后再計算各個活動的最早可能開始時間e和最遲允許開始時間l,根據l - e = 0? 來確定關鍵活動,從而確定關鍵路徑。
此工程最早完成時間為43。關鍵路徑為<1, 3><3, 2><2, 5><5, 6>
?????
總結
以上是生活随笔為你收集整理的数据结构练习题——图(含应用题)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: S32K144之SDK版:FTM定时器(
- 下一篇: JAVA Netty实现聊天室+私聊功能