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