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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

数据结构习题精编图文档格式.docx

1、 B一个有向图的邻接表和逆邻接表中的结点个数一定相等。 C无向图的邻接矩阵一定是对称的,有向图的邻接矩阵一定是不对称的。 D用邻接矩阵存储图,所占用的存储空间大小只与图中顶点个数有关,而与图的边数无关。14 下列关于图的存储的说法中,正确的是 A有e条边的无向图,在邻接表中有e个结点。 B有向图中顶点V的度等于其邻接矩阵中第V行中的1的个数。 C用邻接矩阵法存储一个图所需的存储单元数目与图的边数有关。 D有n个顶点的无向图,采用邻接矩阵存储表示,图中的边数等于邻接矩阵中非零元素的个数之和的一半。15具有n个顶点、e条边的无向图的邻接矩阵中,零元素的个数为 Ae B2e Cn2-2e Dn2-1

2、16 n个顶点的连通图用邻接矩阵表示时,该矩阵中的非零元素至少有 An-1个 Bn个 C2*(n-1)个 Dn*(n-1)/2个17若用邻接矩阵表示一个有向图,则其中每一列包含的“1”的个数为 A图中弧的条数 B图中每个顶点的入度 C图中每个顶点的出度 D图中强连通分量的数目18下面结构中,最适于表示稀疏无向图的是 A邻接矩阵 B十字链表 C逆邻接表 D邻接多重表19如果某图的邻接矩阵是对角线元素均为零的上三角矩阵,则此图是 A连通图 B强连通图 C有向无环图 D有向完全图20下列有关无向图的邻接矩阵的说法中,正确的是 A矩阵中的非零元素个数等于图中的边数。 B矩阵中非全零行的行数等于图中的顶

3、点数。 C第i行和第i列上非零元素的总数等于顶点vi的度数。 D第i行上的非零元素个数和第i列的非零元素个数一定相等。21对于含n个顶点和e条边的图,采用邻接矩阵存储表示的空间复杂度为 AO(n) BO(e) CO(n+e) DO(n2)22设无向图G的邻接表如图1所示,则图G的边数为图1 G的邻接表 A4 B5 C10 D2023若采用邻接表作为存储结构,则图的深度优先搜索类似于二叉树的 A先序遍历 B中序遍历 C后序遍历 D层次遍历24若采用邻接表作为存储结构,则图的广度优先搜索类似于二叉树的25设无向图G=(V,E),其中V=a,b,c,d,e,f,E=(a,b),(a,e),(a,c)

4、,(b,e),(c,f),(f,d),(e,d)。若从顶点a出发按深度优先搜索进行遍历,则可能得到的顶点序列为 Aabecdf Bacfebd Caebcfd Daedfcb26设无向图G=(V,E),其中V=a,b,c,d,e,f,E=(a,b),(a,e),(a,c),若从顶点a出发按广度优先搜索进行遍历,则可 Aabcedf Babcefd Cacfdeb Daebcfd27图G的邻接表如图2所示,从顶点V1出发采用深度优先搜索法遍历图G,得到的顶点序列是图2 图G的邻接表 AV1V2V3V4V5 BV1V2V3V5V4 CV1V3V4V5V2 DV1V4V3V5V228在图3所示的图G

5、中,从顶点1出发进行深度优先遍历可得到的序列是图3 无向图G A1 2 3 4 5 6 7 B1 2 4 6 5 3 7 C1 4 2 5 3 6 7 D1 4 2 6 3 7 529下列关于最小生成树的说法中,正确的是 A任何无向图都存在最小生成树。 B不同的求最小生成树的方法最后得到的生成树是相同的。 C连通图上各边权值均不相同,则该图的最小生成树是唯一的。 D在图G的最小生成树G1中,不可能有某条边的权值超过未选边的权值。30在有向图G的拓扑序列中,若顶点Vi在顶点Vj之前,则下列情形不可能出现的是 AG中有弧 BG中有一条从Vi到Vj的路径 CG中没有弧 DG中有一条从Vj到Vi的路径

6、31在用邻接表存储表示图时,拓扑排序算法时间复杂度为 AO(n) BO(ne) CO(n2) DO(n3)32已知有向图G=(V,A),其中V=V1,V2,V3,V4,V5,V6,V7,A=,V1,V4V2,V5V3,V5V3,V6,V5,V7V6,V7,则G的拓扑序列是 AV1、V3、V4、V6、V2、V5、V7 BV1、V3、V2、V6、V4、V5、V7 CV1、V3、V4、V5、V2、V6、V7 DV1、V2、V5、V3、V4、V6、V733下列关于关键路径的说法中,正确的是 A关键路径是AOE网中从源点到汇点的最短路径。 B关键路径上某个活动的时间缩短,整个工程的时间也就必定缩短。 C

7、关键路径上活动的时间延长多少,整个工程的时间也就随之延长多少。 D当改变网中某一关键路径上任一关键活动后,必将产生不同的关键路径。34求最短路径的Dijkstra算法的时间复杂度是35求解最短路径的Floyd算法的时间复杂度为二、填空题1设无向图G中顶点数为n,则图G至少有_条边,至多有_条边;若G为有向图,则图G至少有_条边,至多有_条边。2. 设无向图 G 有n 个顶点和e 条边,每个顶点Vi 的度为di(1=i=n),则e=_。3. 在有n个顶点的有向图中,若要使任意两点间可以互相到达,则至少需要_条弧。在有n个顶点的有向图中,每个顶点的度最大可达_。4一个有n个结点的图,最少有_个连通

8、分量,最多有_个连通分量。5n个顶点的连通无向图,其边的条数至少为_。N个顶点的连通图的生成树含有_条边。6图4中的强连通分量的个数为_个。图4 有向图7在有向图中,以顶点v为终点的弧的数目称为v的_ 。8图的存储结构表示有_、_、十字链表、邻接多重表等多种存储结构。其中,图的十字链表存储结构只适用于_图,邻接多重表存储结构只适用于_图。9n个顶点的连通图用邻接矩阵表示时,该矩阵至少有_个非零元素。10有向图G用邻接矩阵Ann存储,矩阵A的第i行的所有非零元素个数之和等于顶点i的_。11在有向图的邻接矩阵表示中,计算第i个顶点入度的方法是 _。12. 一个具有n个顶点e条边的无向图采用邻接表存

9、储,则表头向量大小为_,邻接表中边结点个数为_。13在图G的邻接表表示中,每个顶点邻接表中所含的结点数,对于无向图来说等于该顶点的_,对于有向图来说等于该顶点的_。14n个顶点e条边的图,若采用邻接矩阵存储,则空间复杂度为_;若采用邻接表存储,则空间复杂度为_。15图的深度优先遍历类似于树的_遍历,它所用到的数据结构是_;图的广度优先遍历类似于树的_遍历,它所用到的数据结构是_。16设无向图G =(V,E),其中V=a,b,c,d,e ,E=(a,b),(a,d),(a,c),(d,c),(b,e)。现用某一种图遍历方法从顶点a开始遍历图,得到的顶点访问序列为abecd,则采用的是_遍历方法;

10、若得到的顶点访问序列为abdce,则采用的是_遍历方法。17构造连通网最小生成树的两个典型算法是普里姆(Prim)算法和克鲁斯卡尔(Kruskal)算法。一般来说,对稀疏图最好用_算法求最小生成树,对稠密图最好用_算法来求解最小生成树。18用普里姆(Prim)算法求具有n个顶点e条边的图的最小生成树的时间复杂度为_,用克鲁斯卡尔(Kruskal)算法的时间复杂度是_。19AOV网中,结点表示_,弧表示_。AOE网中,顶点表示_,弧表示_,弧上的权代表_。20设有向无环图G=(V,A),其中 V=a,b,c,d,e,f,g,A=a,ca,db,ec,ed,ee,ge,f,则该有向无环图可以排出_

11、种不同的拓扑序列。三、解答题1已知有向图G如图5所示,回答下列问题。 (1)给出每个顶点的入度、出度。(2)给出图G的邻接矩阵表示。(3)给出图G的邻接表和逆邻接表。(4)画出图G的各个强连通分量。 图5 有向图G2设无向图G=(V,E),其中V=v1,v2,v3,v4,v5,v6,E=(v1,v2),(v1,v3),(v1,v5),(v1,v6),(v2,v3),(v2,v4),(v3,v4) ,(v4,v5),(v4,v6),(v5,v6)。(1)画出图G的邻接表。(2)画出图G的邻接多重表。(3)根据所画出的邻接表,分别写出从顶点v1出发对图G进行深度优先遍历和广度优先遍历的顶点序列。3

12、(1)对一个图进行遍历可以得到不同的遍历序列,导致得到的遍历序列不唯一的因素有哪些?(2)已知无向图G的邻接表如图6所示,分别写出从顶点1出发的深度优先遍历和广度优先遍历序列,并画出相应的生成树。图6 无向图G的邻接表4设有向图G=(V,A),其中V = v1,v2,v9,A=v1,v8v2,v3v2,v4v2,v5v3,v9v5,v6v8,v9v9,v7v4,v7v4,v6。(1)画出有向图G。(2)指出图中所有的开始结点和终端结点。(3)分别对图中的开始结点,给出一个拓扑序列。并简单说明所给出序列的选定规则。5已知无向带权图G的邻接表如图7所示,其中边表结点的结构为(邻接点、权值、链域)。

13、图7 无向带权图G的邻接表(1)画出无向带权图G。(2)写出图G的邻接矩阵。(3)依此邻接表从顶点C出发进行深度优先遍历,画出由此得到的深度优先生成树。(4)写出遍历过程中得到的从顶点C到其它各顶点的带权路径及其长度。6设某连通网N如图8所示,试回答下列问题。(1)如果每个指针需要4个字节,每个顶点的标识占1个字节,每条边的权值占2个字节。网N采用哪种存储表示法所需的空间较多?为什么?(2)画出以Kruskal算法构造最小生成树的过程。图8 某连通网N7已知带权图G如图9所示,试用普里姆(Prim)算法从顶点A开始求最小生成树。在算法执行之初,顶点的集合U=A,边的集合TE=。试按照最小生成树

14、的生成过程,分步给出加入顶点和边以后的集合U和TE的值。图9 带权图G8已知有6个顶点(顶点编号为05)的有向带权图G,其邻接矩阵A为上三角矩阵,按行序优先保存在如下的一维数组中。4653(1)写出图G的邻接矩阵A。(2)画出有向带权图G。(3)求图G的关键路径,并计算该关键路径的长度。9某工程各工序之间的优先关系和各工序所需时间如表1所示。(1)画出相应的AOE网。(2)列出各事件的最早发生时间,最迟发生时间。(3)找出关键路径并指明完成该工程所需最短时间。表1 某工程各工序间的优先关系和各工序所需时间一览表工序代号ABCDEFGHIJKLMNO所需时间871091319214前驱工作-D,

15、EF,GH,LJ,K,M10利用Dijkstra算法求图10中从顶点a到其他各顶点间的最短路径,要求利用表格给出求解过程。图10 带权有向图G四、分析题1已知邻接表的头结点和表结点的结构如下:表结点头结点adjvexnextarcinfodatafirstarc下面函数的功能是计算采用邻接表存储表示的有向图G中顶点vi的入度。请在空缺处填入合适的内容,将程序补充完整。int CountInDegree(ALGraph G, int i) int degree, j; ArcNode *p; degree= 0 ; for(j=0;jG.vexnum;j+) p=_ ; / (1) while

16、(_) / (2) if (_=i) / (3) degree+; break; p=_; / (4) return degree;2已知有向图的邻接表存储表示的类型定义如下:#define MAX_VERTEX_NUM 20 / 最大顶点个数typedef int InfoType;typedef char VertexType5; / 顶点信息是一个最多4个字符的字符串typedef struct ArcNode int adjvex; / 该弧所指向的顶点的位置 struct ArcNode *nextarc; / 指向下一条弧的指针 InfoType *info; / 该弧相关信息的指

17、针 ArcNode;typedef struct VNode VertexType data; / 顶点信息 ArcNode *firstarc; / 指向第一条依附该顶点的弧 AdjListMAX_VERTEX_NUM;typedef struct AdjList vertices; int vexnum, arcnum; / 图的当前顶点数和弧数 GraphKind kind; / 图的种类标志 ALGraph;下面函数的功能是从有向图G中删除所有以顶点v为弧头的弧。void DeleteHeadArc(ALGraph &G, VertexType v) int i,j; ArcNode

18、*p, *q; for(i=0; i +i) if(strcmp(v,G.verticesi.data)=0) _; / (1) if (i=G.vexnum) coutnextarc; if (p!=NULL) if (_) / (4) q-nextarc =p-nextarc ; else _=p- / (5) delete p; G.arcnum - ;3已知图的邻接表表示的类型定义同本大题第2小题。下面函数的功能是输出图G的深度优先生成树(或森林)的边。bool visitedMAX_VERTEX_NUM;void DFSTree(ALGraph G, int i) visitedi=

19、_; p=G.verticesi.firstarc; while(p!=NULL) if(_) / (2) coutG.verticesi.dataadjvex.data ; _ ; / (3) _; / (4)void DFSForest (ALGraph G) int i,cnt=0;ii+) visitedi= false;i+) if (_) / (5) cout第+cntnextarc) k= _; / if (!(-indegreek) _; / if(_) cout图G中存在有环路 / (2)对于如图11所示的邻接表,执行函数TopologicalSort,后,数组topo 的内

20、容是什么?请将结果填入下面的表格中。i1Topoi5已知某有向图G采用邻接矩阵存储表示。图的邻接矩阵表示定义如下:#define MaxMun 20 / 图的最大顶点数typedef struct char vexs MaxNum; / 字符类型的顶点表 int arcs MaxNumMaxNum; / 邻接矩阵 int n, e; / 图的顶点数和边(或弧)数 MGraph; / 图的邻接矩阵结构描述 图g的定义为:MGraph g=a,bcdefg,0,1,1,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,7,10;(1)画出该有向图。

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

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