ImageVerifierCode 换一换
格式:DOCX , 页数:40 ,大小:124.56KB ,
资源ID:10081802      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10081802.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(图结构习题答案.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

图结构习题答案.docx

1、图结构习题答案第6章 图【例6-1】回答下列问题:(1)具有n个顶点的连通图至少有多少条边(2)具有n个顶点的强连通图至少有多少条边这样的图应该是什么形状(3)具有n个顶点的有向无环图最多有多少条边解: (1)具有n个顶点的连通图至少有n-1条边。这是一个与生成树相关的问题。生成树是一个连通图,它具有能够连通图中任何两个顶点的最小边集,任何一个生成树都具有n-1边。因此,具有n个顶点的连通图至少有n-1条边。(2)具有n个顶点的强连通图至少有n条边,这样的图是一个由n个顶点构成的环。强连通图是相对于有向图而言的。由于强连通图要求图中任何两个顶点之间能够相互连通,因此每个顶点至少要有一条以该顶点

2、为弧头的弧和一条以该顶点为弧尾的弧,每个顶点的入度和出度至少各为1,即顶点的度至少为2,这样根据图的顶点数、边数以及各项点的度三者之间的关系计算可得:边数=2n/2=n。(3)具有n个顶点的有向无环图最多有n(n1)/2条边。这是一个拓扑排序相关的问题。个有向无环图至少可以排出一个拓扑序列,不妨设这n个顶点排成的拓扑序列为v1,v2,v3,vn,那么在这个序列中,每个顶点vi只可能与排在它后面的顶点之间存在着以vi为弧尾的弧,最多有n-i条,因此在整个图中最多有(n-1)+(n-2)+ +2+1=n(n-1)/2条边。2图的存储结构常用的存储结构有邻接矩阵和邻接表。(1)邻接矩阵表示法设G(V

3、,E)是有n(n1)个顶点的图。则G的邻接矩阵是按如下定义的n阶方阵: 例如,图6-1中G1,2的邻接矩阵分别表示为A1、A2,矩阵的行列号对应于图6-1中结点的序号。由邻接矩阵的定义可知,无向图的邻接矩阵必定是对称阵;有向图的邻接矩阵不一定是对称的。 根据邻接矩阵,很容易判定任意两个顶点之间是否有边相连。求各顶点的度也是非常容易的。对于无向图,顶点Vi的度就是邻接矩阵中第i行(或第j列)上非零元的个数,即。对于有向图,第i行中非零元的个数为顶点Vi的出度,而第i列上的非零元个数为顶点Vi的入度。(2)邻接表表示法图的邻接链表存储结构是一种顺序分配和链式分配相结合的存储结构括两个部分:一部分是

4、向量,另一部分是链表。邻接链表中的表头部分是向量,用来存储n个表头结点。向量的下标指示顶点的序号。例如,对于图6-1中G1和G2,其邻接链表如图6-3所示。在无向图的邻接表中顶点vi的度就是第i个链表中结点的个数。在有向图中,第i个链表的结点数仅是vi的出度,求vi的入度,必须查遍n个链表才能得出。【例6-2】 图G(V,E),其中V=1,2,3,4,5,6,,,请画出图G,并写出其邻接矩阵和邻接表表示。解:图G如图6-4中的(a)所示,图G的邻接矩阵和邻接表表示分别如图(b)和(c)所示。对于这类问题,只要掌握了图的概念和存储结构就可以做出正确的答案。通常情况下对图的顶点排列顺序和各顶点的邻

5、接点排列顺序并没有特定要求,因此,在写出邻接矩阵和邻接表表示时,只要按照某种排列顺序画出相应的结构图就可以了。但应该注意的是,对于邻接矩阵表示,如果顶点结点的顺序不同,那么邻接矩阵就不相同;对于邻接表表示,如果顶点结点的顺序或者邻接点的顺序不同,那么邻接表就不相同。0 1 1 1 0 00 0 0 0 1 00 1 0 0 1 10 0 0 0 0 10 0 0 0 1 10 0 0 0 0 0(b)图6-4 图及其存储结构1(a)34256(c)126453223545666【例6-3】已知一个无向图的邻接表如图6-5所示,要求:(1)画出该无向图;(2)根据邻接表,分别写出用DFS(深度优

6、先搜索)和BFS(广度优先搜索)算法从顶点V0开始遍历该图后所得到的遍历序列。解:(1)该无向图如图6-6所示。v0v1v2v3v4v6v5图6-6 无向图 (2)根据该无向图的邻接表表示,从顶点V0开始的深度优先遍历序列为:V0、V2、V3、V1、V4、V6、V5。广度优先遍历序列为V0、V2、V5、V6、V1、V3、V4。从图的逻辑结构上来讲,从图中某个顶点开始的深度(或广度)优先遍历序列不一定是唯一的。这是因为在逻辑结构中,并没有对每个顶点的所有邻接点规定它们之间的先后顺序,这样在搜索算法中选取第个邻接点和下一个邻接点时可能会有不同的结果。但是在存储结构中,明确地给出了邻接点的先后顺序,

7、这时深度优先和广度优先遍历序列就是唯一的。【例6-4】对于如图6-8所示的带权无向图,用图示说明:(1)利用Prim算法从顶点a开始构造最小生成树的过程;3e1fdcbag97946218548图6-8 带权无向图(2)利用Kruskal算法构造最小生成树的过程;解:(1)利用Prim算法从顶点a开始构造最小生成树的过程如图6-9所示。(2)利用Kruskal算法构造最小生成树的过程如图6-10所示。【例6-5】 一个带权无向图的最小生成树是否一定唯一在什么情况下构造出的最小生成树可能不唯一解:一个带权无向图的最小生成树不一定是唯一的。从Kruskal算法构造最小生成树的过程可以看出,当从图中

8、选择当前权值最小的边时,如果存在多条这样的边,并且这些边与已经选取的边构成回路,此时这些边就不可能同时出现在一棵最小生成树中,对这些边的不同选择结果可能会产生不同的最小生成树。习题6一、单项选择题 1. 在一个具有n个顶点的有向图中,若所有顶点的出度数之和为s,则所有顶点的入度数之和为(1. A )。A. s B. s-1 C. s+1 D. n 2. 在一个具有n个顶点的有向图中,若所有顶点的出度数之和为s,则所有顶点的度数之和为(2. D)。A. s B. s-1 C. s+1 D. 2s 3. 在一个具有n个顶点的无向图中,若具有e条边,则所有顶点的度数之和为(3. D )。A. n B

9、. e C. n+e D. 2e 4. 在一个具有n个顶点的无向完全图中,所含的边数为(4. C)。A. n B. n(n-1) C. n(n-1)/2 D. n(n+1)/2 5. 在一个具有n个顶点的有向完全图中,所含的边数为( 5. B )。A. n B. n(n-1) C. n(n-1)/2 D. n(n+1)/2 6. 在一个无向图中,若两顶点之间的路径长度为k,则该路径上的顶点数为( 6. B )。A. k B. k+1 C. k+2 D. 2k 7. 对于一个具有n个顶点的无向连通图,它包含的连通分量的个数为(7. B)。A. 0 B. 1 C. n D. n+1 8. 若一个图

10、中包含有k个连通分量,若要按照深度优先搜索的方法访问所有顶点,则必须调用(8. A )次深度优先搜索遍历的算法。A. k B. 1 C. k-1 D. k+1 9. 若要把n个顶点连接为一个连通图,则至少需要(9. C )条边。A. n B. n+1 C. n-1 D. 2n 10. 在一个具有n个顶点和e条边的无向图的邻接矩阵中,表示边存在的元素(又称为有效元素)的个数为( 10. D )。A. n B. n e C. e D. 2 e 11. 在一个具有n个顶点和e条边的有向图的邻接矩阵中,表示边存在的元素个数为( 11. C )。A. n B. n e C. e D. 2 e 12. 在

11、一个具有n个顶点和e条边的无向图的邻接表中,边结点的个数为(12. D )。A. n B. n e C. e D. 2 e 13. 在一个具有n个顶点和e条边的有向图的邻接表中,保存顶点单链表的表头指针向量的大小至少为(13. A )。A. n B. 2n C. e D. 2e 14. 在一个无权图的邻接表表示中,每个边结点至少包含(14. B )域。A. 1 B. 2 C. 3 D. 4 15. 对于一个有向图,若一个顶点的度为k1,出度为k2,则对应邻接表中该顶点单链表中的边结点数为(15. B )。A. k1 B. k2 C. k1-k2 D. k1+k2 16. 对于一个有向图,若一个

12、顶点的度为k1,出度为k2,则对应逆邻接表中该顶点单链表中的边结点数为(16. C )。A. k1 B. k2 C. k1-k2 D. k1+k2 17. 对于一个无向图,下面(17. A )种说法是正确的。A. 每个顶点的入度等于出度 B. 每个顶点的度等于其入度与出度之和C. 每个顶点的入度为0 D. 每个顶点的出度为0 18. 在一个有向图的邻接表中,每个顶点单链表中结点的个数等于该顶点的(18. A)。A. 出边数 B. 入边数 C. 度数 D. 度数减1 19. 若一个图的边集为(A,B),(A,C),(B,D),(C,F),(D,E),(D,F),则从顶点A开始对该图进行深度优先搜

13、索,得到的顶点序列可能为( 19. B )。A. A,B,C,F,D,E B. A,C,F,D,E,BC. A,B,D,C,F,E D. A,B,D,F,E,C 20. 若一个图的边集为(A,B),(A,C),(B,D),(C,F),(D,E),(D,F),则从顶点A开始对该图进行广度优先搜索,得到的顶点序列可能为(20. D )。A. A,B,C,D,E,F B. A,B,C,F,D,EC. A,B,D,C,E,F D. A,C,B,F,D,E 21. 若一个图的边集为,,则从顶点1开始对该图进行深度优先搜索,得到的顶点序列可能为(21. A )。A. 1,2,5,4,3 B. 1,2,3,

14、4,5C. 1,2,5,3,4 D. 1,4,3,2,5 22. 若一个图的边集为,,则从顶点1开始对该图进行广度优先搜索,得到的顶点序列可能为( 22. C )。A. 1,2,3,4,5 B. 1,2,4,3,5C. 1,2,4,5,3 D. 1,4,2,5,3 23. 由一个具有n个顶点的连通图生成的最小生成树中,具有(23. B )条边。A. n B. n-1 C. n+1 D. 2 n 24. 已知一个有向图的边集为,,则由该图产生的一种可能的拓扑序列为(24. A )。A. a,b,c,d,e B. a,b,d,e,b C. a,c,b,e,d D. a,c,d,b,e二、填空题 1

15、. 在一个图中,所有顶点的度数之和等于所有边数的_倍。1. 2 2. 在一个具有n个顶点的无向完全图中,包含有_条边,在一个具有n个顶点的有向完全图中,包含有_条边。 2. n(n-1)/2,n(n-1) 3. 假定一个有向图的顶点集为a,b,c,d,e,f,边集为, , , , , ,则出度为0的顶点个数为_,入度为1的顶点个数为_。3. 2,4 4. 在一个具有n个顶点的无向图中,要连通所有顶点则至少需要_条边。4. n-1 5. 表示图的两种存储结构为_和_。5. 邻接矩阵,邻接表 6. 在一个连通图中存在着_个连通分量。6. 1 7. 图中的一条路径长度为k,该路径所含的顶点数为_。7

16、. k+1 8. 若一个图的顶点集为a,b,c,d,e,f,边集为(a,b),(a,c),(b,c),(d,e),则该图含有_个连通分量。 8. 3 9. 对于一个具有n个顶点的图,若采用邻接矩阵表示,则矩阵大小至少为_ _。9. n,n 10. 对于具有n个顶点和e条边的有向图和无向图,在它们对应的邻接表中,所含边结点的个数分别为_和_。10. 2e,e 11. 在有向图的邻接表和逆邻接表表示中,每个顶点邻接表分别链接着该顶点的所有_和_结点。11. 出边,入边 12. 对于一个具有n个顶点和e条边的无向图,当分别采用邻接矩阵和邻接表表示时,求任一顶点度数的时间复杂度分别为_和_。 12.

17、O(n),O(e/n) 13. 假定一个图具有n个顶点和e条边,则采用邻接矩阵和邻接表表示时,其相应的空间复杂度分别为_和_。(n2),O(n+e) 14. 一个图的边集为(a,c),(a,e),(b,e),(c,d),(d,e),从顶点a出发进行深度优先搜索遍历得到的顶点序列为_,从顶点a出发进行广度优先搜索遍历得到的顶点序列为_。 14. acdeb,acedb (答案不唯一) 15. 一个图的边集为,,从顶点a出发进行深度优先搜索遍历得到的顶点序列为_,从顶点a出发进行广度优先搜索遍历得到的顶点序列为_。15. acfebd,acefbd (答案不唯一) 16. 图的_优先搜索遍历算法是

18、一种递归算法,图的_优先搜索遍历算法需要使用队列。 16. 深度,广度 17. 对于一个具有n个顶点和e条边的连通图,其生成树中的顶点数和边数分别为_和_。17. n,n-1 18. 若一个连通图中每个边上的权值均不同,则得到的最小生成树是_(唯一/不唯一)的。 18. 唯一 19. 根据图的存储结构进行某种次序的遍历,得到的顶点序列是_(唯一/不唯一)的。19. 唯一 20. 假定一个有向图的边集为,,对该图进行拓扑排序得到的顶点序列为_。 20. aebdcf(答案不唯一)三、应用题1. 对于一个无向图6-11(a),假定采用邻接矩阵表示,试分别写出从顶点0出发按深度优先搜索遍历得到的顶点

19、序列和按广度优先搜索遍历得到的顶点序列。注:每一种序列都是唯一的,因为都是在存储结构上得到的。1. 深度优先搜索序列:0,1,2,8,3,4,5,6,7,9 广度优先搜索序列:0,1,4,2,7,3,8,6,5,9 2. 对于一个有向图6-11(b),假定采用邻接表表示,并且假定每个顶点单链表中的边结点是按出边邻接点序号从大到小的次序链接的,试分别写出从顶点0出发按深度优先搜索遍历得到的顶点序列和按广度优先搜索遍历得到的顶点序列。 注:每一种序列都是唯一的,因为都是在存储结构上得到的。 图6-110165948372(a)603451278(b)2. 深度优先搜索序列:0,4,7,5,8,3,

20、6,1,2 广度优先搜索序列:0,4,3,1,7,5,6,2,83. 已知一个无向图的邻接矩阵如图6-12(a)所示,试写出从顶点0出发分别进行深度优先和广度优先搜索遍历得到的顶点序列。3. 深度优先搜索序列:0,2,3,5,6,1,4 广度优先搜索序列:0,2,3,5,6,1,4 4. 已知一个无向图的邻接表如图6-12(b)所示,试写出从顶点0出发分别进行深度优先和广度优先搜索遍历得到的顶点序列。(a) (b)图6-124. 深度优先搜索序列:0,3,6,4,1,5,2 广度优先搜索序列:0,3,2,6,5,4,15. 已知图6-13所示的一个网,按照Prim方法,从顶点1 出发,求该网的

21、最小生成树的产生过程。 (a)V1V2V3V4V5V6V760506540457050524230V1V2V3V4V5V6V750(c)V1V2V3V4V5V6V7(b)5. 过程如图6-16所示 6. 已知图6-13所示的一个网,按照Kruskal方法,求该网的最小生成树的产生过程。图6-13V1V2V3V4V5V6V7605065404570505242306. 求解过程如图6-17所示。V1V2V3V4V5V6V7(a)30V1V2V3V4V5V6V7(b)3040V1V2V3V4V5V6V7(c)304042图6-17V1V2V3V4V5V6V7(e)3040424550V1V2V3V

22、4V5V6V7(f)304042455050V1V2V3V4V5V6V7(d)304042457. 图6-14所示为一个有向网图及其带权邻接矩阵,要求对有向图采用Dijkstra算法,求从V0 到其余各顶点的最短路径。7. 求解过程如下表所示。终点 从v0到各终点的D值和最短路径的求解过程 i=1 i=2 i=3 i=4 i=5 V1 无 V2 10 (v0,v2) V3 60 (v0,v2,v3) 50 (v0,v4,v3) V4 30 (v0,v4) 30 (v0,v4) V5 100 (v0,v5) 100 (v0,v5) 90 (v0,v4,v5) 60 (v0,v4,v3,v5) V

23、j V2 V4 V3 V5 S v0,v2 v0,v2,v4v0,v2,v3,v4v0,v2,v3,v4,v58. 图6-15给出了一个具有15个活动、11个事件的工程的AOE网,求关键路径。v1v5v3v8v11v9v1001a2=4a5=3a9=4a13=10a14=1a15=6v6v7v4v2图6-15a1=3a3=2a4=1a7=6a8=8a11=7a12=4a6=5a10=28. 求解过程如下:事件的最早发生时间vek。 ve (1)=0 ve (2)=3 ve (3)=4 ve (4)=ve(2)+2=5 ve (5)=maxve(2)+1,ve(3)+3=7 ve (6)=ve(

24、3)+5=9 ve (7)=maxve(4)+6,ve(5)+8=15 ve (8)=ve(5)+4=11 ve (9)=maxve(8)+10,ve(6)+2=21 ve (10)=maxve(8)+4,ve(9)+1=22 ve (11)=maxve(7)+7,ve(10)+6=28事件的最迟发生时间vlk。 vl (11)= ve (11)=28 vl (10)= vl (11)-6=22 vl (9)= vl (10)-1=21 vl (8)=min vl (10)-4, vl (9)-10=11 vl (7)= vl (11)-7=21 vl (6)= vl (9)-2=19 vl (5)=min vl (7)-8,vl (8)-4=7 vl (4)= vl (7)-6=15 vl (3)=min vl (5)-3, vl (6)-5=4 vl (2)=min vl (4)-2, vl (5)-1=6 vl (1)=minvl (2)-

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1