收藏 分享(赏)

数据结构第五章图习题.doc

上传人:精品资料 文档编号:10587414 上传时间:2019-12-02 格式:DOC 页数:8 大小:291.50KB
下载 相关 举报
数据结构第五章图习题.doc_第1页
第1页 / 共8页
数据结构第五章图习题.doc_第2页
第2页 / 共8页
数据结构第五章图习题.doc_第3页
第3页 / 共8页
数据结构第五章图习题.doc_第4页
第4页 / 共8页
数据结构第五章图习题.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

1、05 图【单选题】1. 设无向图 G 中有五个顶点,各顶点的度分别为 2、4、3、1、2,则 G 中边数为(C ) 。、4 条 、5 条 、6 条 、无法确定2. 含 n 个顶点的无向完全图有(D )条边;含 n 个顶点的有向图最多有(C)条弧;含 n 个顶点的有向强连通图最多有(C)条弧;含 n 个顶点的有向强连通图最少有()条弧;设无向图中有 n 个顶点,则要接通全部顶点至少需(G )条边。A、n 2 B、n(n+1) C、n(n-1) D、n(n-1)/2 E、n+1 F、n G、n-13. 对下图从顶点 a 出发进行深度优先遍历,则(A )是可能得到的遍历序列。A、acfgdeb B、

2、abcdefg C、acdgbef D 、abefgcd对下图从顶点 a 出发进行广度优先遍历,则(D )是不可能得到的遍历序列。A、abcdefg B、acdbfge C、abdcegf D 、adcbgef4. 设图 G 的邻接矩阵 A= ,则 G 中共有(C)个顶点;若 G 为有向图,则 G 中共有(D)01条弧;若 G 为无向图,则 G 中共有(B)条边。A、1 B、2 C、3 D、4 E、5 F、9 G、以上答案都不对5. 含 n 个顶点的图,最少有(B)个连通分量,最多有(D)个连通分量。A、0 B、1 C、n-1 D、n6. 用邻接表存储图所用的空间大小(A ) 。A、与图的顶点

3、数和边数都有关 B、只与图的边数有关C、只与图的顶点数有关 D、与边数的平方有关7. n 个顶点的无向图的邻接表最多有(B)个表结点。A、n 2 B、n(n-1) C、 n(n+1) D、n(n-1)/28. 无向图 G=(V,E),其中:V=a,b,c,d,e,f ,E=(a,b),(a,e),(a,c),(b,e),(c,f),(f,d),(e,d),对该图进行深度优先遍历,得到的顶点序列正确的是(D ) 。A、a,b,e,c,d,f B、a,c,f,e,b,d C 、a,e,b,c,f,d D 、a,e,d,f,c,b9. 图的 BFS 生成树的树高比 DFS 生成树的树高(A ) 。A

4、、小或相等 B、小 C、大或相等 D、大10. 下列不正确的是(C) 。(1)求从指定源点到其余各顶点的迪杰斯特拉(Dijkstra)最短路径算法中弧上权不能为负的原因是在实际应用中无意义;(2)利用 Dijkstra 求每一对不同顶点之间的最短路径的算法时间是 O(n3);(图用邻接矩阵表示)(3)Floyd 求每对不同顶点对的算法中允许弧上的权为负,但不能有权和为负的回路。A、(1),(2),(3) B 、(1) C、(1),(3) D、(2),(3)11. 当各边上的权值(A)时, BFS 算法可用来解决单源最短路径问题。A、均相等 B、均互不相等 C、不一定相等12. 若一个有向图具有

5、拓扑排序序列,那么它的邻接矩阵必定为(C) 。A、对称矩阵 B、稀疏矩阵 C、三角矩阵 D、一般矩阵13. 在有向图 G 的拓扑序列中,若顶点 Vi 在顶点 Vj 之前,则下列情形不可能出现的是(D ) 。A、G 中有弧 B、G 中有一条从 Vi 到 Vj 的路径C、G 中没有弧 D、G 中有一条从 Vj 到 Vi 的路径14. 关键路径是 AOE 网中( B) 。A、从始点到终点的最短路径 B、从始点到终点的最长路径C、人始点到终点的边数最多的路径 D、从始点到终点的边数最少的路径15. 下面关于求关键路径的说法不正确的是(C) 。A、求关键路径是以拓扑排序为基础的B、一个事件的最早开始时间

6、同以该事件为尾的弧的活动最早开始时间相同C、一个事件的最迟开始时间为以该事件为尾的弧的活动最迟开始时间与该活动的持续时间的差D、关键活动一定位于关键路径上【填空题】1. 设无向连通图 G 含 n 个顶点 e 条边,则 G 的生成树含 个顶点 条边。2. 连通分量是无向图的 子图,生成树是无向连通图的 子图。3. 对稀疏图而言,在邻接矩阵和邻接表这两种存储结构中选择 更为适宜。4. 设无向图 G 含 n 个顶点 e 条边,则 G 的邻接表表示中含 个边表结点。5. 设有向图 G 含 n 个顶点 e 条弧,则 G 的邻接表表示中含 个边表结点。【计算题】1. 设无向图如下,写出对该图从顶点 a 出

7、发进行广度优先遍历可能得到的所有遍历序列。解:abcdefg、abdcegf 、acbdfeg、acdbfge、adbcgef、adcbgfe。2. 设有向图如下,写出对该图从顶点 a 出发进行深度优先遍历可能得到的所有遍历序列。解:abedc 、acbed、acdbe。3. 设无向网如下, (1)写出其邻接矩阵;(2)基于该邻接矩阵求深度优先生成树和广度优先生成树; (3)基于该邻接矩阵按普里姆算法求最小生成树;(4)写出其邻接表; (5)基于该邻接表按克鲁斯卡尔算法求最小生成树。解:(1) 645237945534(2)深度优先生成树: ;广度优先生成树:(3)最小生成树: ;求解过程:(

8、4)邻接表:(5)最小生成树:4. 设 AOV 图如下,写出对该图进行拓扑排序可能得到的所有拓扑序列。解:abcdefg、abcdfeg 、abcfdeg5. 设 AOE 网如下,试求关键路径。解:关键路径:v 1v 2v 5v 7 关键路径:v 1v 3v 6v 7。6. 设有向网如下,试用迪杰斯特拉算法求从顶点 A 出发到其余各顶点的最短路径。解:ab:3 af:5 afe:7 abc:11 afed:147. 设有向网如下,试用弗洛伊德算法求图中各对顶点间的最短路径。解:【算法题】下列算法题中可能用到的类如下:public class MGraphprivate Object vexs;

9、private int adj;private int vexnum;private int arcnum;public MGraph(int maxvn)int i, j;vexs=new Objectmaxvn;adj=new intmaxvnmaxvn;for(i=0;imaxvn;i+)for(j=0;jmaxvn;j+)adjij=0;vexnum=0;arcnum=0;/构造函数/图的邻接矩阵存储结构类public class ALANodepublic int adj;public ALANode next;/图的邻接表存储结构中的表结点类public class ALVNode

10、public Object data; /顶点信息public ALANode firstarc;/图的邻接表存储结构中的头结点类public class ALGraphprivate ALVNode vexs;private int vexnum;private int arcnum;public ALGraph(int maxvn)vexs=new ALVNodemaxvn;vexnum=0;arcnum=0;/构造函数/图的邻接表存储结构类1. 在 ALGraph 类中添加符合如下要求的构造函数public ALGraph(Object v, ArcArray a)其中 v 为顶点向量,

11、a 为弧向量,类 ArcArray 的定义如下:public class ArcArrayprivate int index1; /弧尾顶点下标private int index2; /弧头顶点下标(2)public ALGraph(MGraph g)2. 在 ALGraph 类中添加实现如下功能的方法:(1)在无向图中插入一个顶点;(2)在无向图中删除一个顶点;(3)在无向图中添加一条边;(4)在无向图中删除一条边。(5)判定无向图中是否存在从顶点 vi 到顶点 vj 的路径(ij ) 。(6)输出无向图中从顶点 vi 到顶点 vj 的所有简单路径。解:(5)public boolean p

12、ath(int i, int j)/从顶点 vi 出发进行深度优先遍历,调用完成时所有与 vi 有路径相通的顶点都被访问到boolean visited =new booleanvexs.length;for(k=0;kvexnum;k+) visitedk=false;dfs(i, visited);return visitedj;/pathvoid dfs(int i, boolean visited)/从顶点 vi 出发对图 G 进行深度优先遍历visitedi=true;for(p=vexsi.firstarc;p;p=p.next)if (!visitedp.adj) dfs(p.a

13、dj, visited);/dfs3. 在 MGraph 类中添加符合如下要求的构造函数:(1)public class MGraph(Object v, EdgeArray e)其中 v 为顶点向量,e 为边向量,类 EdgeArray 的定义如下:public class EdgeArraypublic int index1; /顶点 1 下标public int index2; /顶点 2 下标(2)public MGraph(ALGraph g)4. 在 MGraph 类中添加实现如下功能的方法:(1)在有向图中插入一个顶点;(2)在有向图中删除一个顶点;(3)在有向图中添加一条边;(4)在有向图中删除一条边。(5)判定有向图中从顶点 vi 到顶点 vj 是否存在一条长为 k 的简单路径。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报