第 6 章 图.docx

上传人:b****5 文档编号:8162304 上传时间:2023-01-29 格式:DOCX 页数:12 大小:222.77KB
下载 相关 举报
第 6 章 图.docx_第1页
第1页 / 共12页
第 6 章 图.docx_第2页
第2页 / 共12页
第 6 章 图.docx_第3页
第3页 / 共12页
第 6 章 图.docx_第4页
第4页 / 共12页
第 6 章 图.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

第 6 章 图.docx

《第 6 章 图.docx》由会员分享,可在线阅读,更多相关《第 6 章 图.docx(12页珍藏版)》请在冰豆网上搜索。

第 6 章 图.docx

第6章图

第6章图

课后习题讲解

1.填空题

⑴设无向图G中顶点数为n,则图G至少有()条边,至多有()条边;若G为有向图,则至少有()条边,至多有()条边。

【解答】0,n(n-1)/2,0,n(n-1)

【分析】图的顶点集合是有穷非空的,而边集可以是空集;边数达到最多的图称为完全图,在完全图中,任意两个顶点之间都存在边。

⑵任何连通图的连通分量只有一个,即是()。

【解答】其自身

⑶图的存储结构主要有两种,分别是()和()。

【解答】邻接矩阵,邻接表

【分析】这是最常用的两种存储结构,此外,还有十字链表、邻接多重表、边集数组等。

⑷已知无向图G的顶点数为n,边数为e,其邻接表表示的空间复杂度为()。

【解答】O(n+e)

【分析】在无向图的邻接表中,顶点表有n个结点,边表有2e个结点,共有n+2e个结点,其空间复杂度为O(n+2e)=O(n+e)。

⑸已知一个有向图的邻接矩阵表示,计算第j个顶点的入度的方法是()。

【解答】求第j列的所有元素之和

⑹有向图G用邻接矩阵A[n][n]存储,其第i行的所有元素之和等于顶点i的()。

【解答】出度

⑺图的深度优先遍历类似于树的()遍历,它所用到的数据结构是();图的广度优先遍历类似于树的()遍历,它所用到的数据结构是()。

【解答】前序,栈,层序,队列

⑻对于含有n个顶点e条边的连通图,利用Prim算法求最小生成树的时间复杂度为(),利用Kruskal算法求最小生成树的时间复杂度为()。

【解答】O(n2),O(elog2e)

【分析】Prim算法采用邻接矩阵做存储结构,适合于求稠密图的最小生成树;Kruskal算法采用边集数组做存储结构,适合于求稀疏图的最小生成树。

⑼如果一个有向图不存在(),则该图的全部顶点可以排列成一个拓扑序列。

【解答】回路

⑽在一个有向图中,若存在弧、、,则在其拓扑序列中,顶点vi,vj,vk的相对次序为()。

【解答】vi,vj,vk

【分析】对由顶点vi,vj,vk组成的图进行拓扑排序。

2.选择题

⑴在一个无向图中,所有顶点的度数之和等于所有边数的()倍。

A1/2B1C2D4

【解答】C

【分析】设无向图中含有n个顶点e条边,则

⑵n个顶点的强连通图至少有(  )条边,其形状是()。

AnBn+1Cn-1Dn×(n-1)

E无回路   F有回路  G环状   H树状

【解答】A,G

⑶含n个顶点的连通图中的任意一条简单路径,其长度不可能超过()。

A1Bn/2Cn-1Dn

【解答】C

【分析】若超过n-1,则路径中必存在重复的顶点。

⑷对于一个具有n个顶点的无向图,若采用邻接矩阵存储,则该矩阵的大小是()。

AnB(n-1)2Cn-1Dn2

【解答】D

⑸图的生成树(  ),n个顶点的生成树有()条边。

A唯一    B不唯一   C唯一性不能确定

DnEn+1Fn-1

【解答】C,F

⑹设无向图G=(V,E)和G'=(V',E'),如果G'是G的生成树,则下面的说法中错误的是()。

AG'为G的子图BG'为G的连通分量

CG'为G的极小连通子图且V=V'DG'是G的一个无环子图

【解答】B

【分析】连通分量是无向图的极大连通子图,其中极大的含义是将依附于连通分量中顶点的所有边都加上,所以,连通分量中可能存在回路。

⑺G是一个非连通无向图,共有28条边,则该图至少有()个顶点。

A6B7C8D9

【解答】D

【分析】n个顶点的无向图中,边数e≤n(n-1)/2,将e=28代入,有n≥8,现已知无向图非连通,则n=9。

⑻最小生成树指的是()。

A由连通网所得到的边数最少的生成树

B由连通网所得到的顶点数相对较少的生成树

C连通网中所有生成树中权值之和为最小的生成树

D连通网的极小连通子图

【解答】C

⑼判定一个有向图是否存在回路除了可以利用拓扑排序方法外,还可以用()。

A求关键路径的方法   B求最短路径的方法

C广度优先遍历算法   D深度优先遍历算法

【解答】D

【分析】当有向图中无回路时,从某顶点出发进行深度优先遍历时,出栈的顺序(退出DFSTraverse算法)即为逆向的拓扑序列。

⑽下面关于工程计划的AOE网的叙述中,不正确的是()?

br/>A关键活动不按期完成就会影响整个工程的完成时间

B任何一个关键活动提前完成,那么整个工程将会提前完成

C所有的关键活动都提前完成,那么整个工程将会提前完成

D某些关键活动若提前完成,那么整个工程将会提前完

【解答】B

【分析】AOE网中的关键路径可能不止一条,如果某一个关键活动提前完成,还不能提前整个工程,而必须同时提高在几条关键路径上的关键活动。

3.判断题

⑴一个有向图的邻接表和逆邻接表中的结点个数一定相等。

【解答】对。

邻接表和逆邻接表的区别仅在于出边和入边,边表中的结点个数都等于有向图中边的个数。

⑵用邻接矩阵存储图,所占用的存储空间大小只与图中顶点个数有关,而与图的边数无关。

【解答】对。

邻接矩阵的空间复杂度为O(n2),与边的个数无关。

⑶图G的生成树是该图的一个极小连通子图

【解答】错。

必须包含全部顶点。

⑷无向图的邻接矩阵一定是对称的,有向图的邻接矩阵一定是不对称的

【解答】错。

有向图的邻接矩阵不一定对称,例如有向完全图的邻接矩阵就是对称的。

⑸对任意一个图,从某顶点出发进行一次深度优先或广度优先遍历,可访问图的所有顶点。

【解答】错。

只有连通图从某顶点出发进行一次遍历,可访问图的所有顶点。

⑹在一个有向图的拓扑序列中,若顶点a在顶点b之前,则图中必有一条弧。

【解答】错。

只能说明从顶点a到顶点b有一条路径。

⑺若一个有向图的邻接矩阵中对角线以下元素均为零,则该图的拓扑序列必定存在。

【解答】对。

参见第11题的证明。

⑻在AOE网中一定只有一条关键路径?

br/>【解答】错。

AOE网中可能有不止一条关键路径,他们的路径长度相同。

4.n个顶点的无向图,采用邻接表存储,回答下列问题?

br/>⑴图中有多少条边?

⑵任意两个顶点i和j是否有边相连?

⑶任意一个顶点的度是多少?

br/>【解答】

⑴边表中的结点个数之和除以2。

⑵第i个边表中是否含有结点j。

⑶该顶点所对应的边表中所含结点个数。

5.n个顶点的无向图,采用邻接矩阵存储,回答下列问题:

⑴图中有多少条边?

⑵任意两个顶点i和j是否有边相连?

⑶任意一个顶点的度是多少?

【解答】

⑴邻接矩阵中非零元素个数的总和除以2。

⑵当邻接矩阵A中A[i][j]=1(或A[j][i]=1)时,表示两顶点之间有边相连。

⑶计算邻接矩阵上该顶点对应的行上非零元素的个数。

6.证明:

生成树中最长路径的起点和终点的度均为1。

【解答】用反证法证明。

设v1,v2,…,vk是生成树的一条最长路径,其中,v1为起点,vk为终点。

若vk的度为2,取vk的另一个邻接点v,由于生成树中无回路,所以,v在最长路径上,显然v1,v2,…,vk,v的路径最长,与假设矛盾。

所以生成树中最长路径的终点的度为1。

同理可证起点v1的度不能大于1,只能为1。

7.已知一个连通图如图6-6所示,试给出图的邻接矩阵和邻接表存储示意图,若从顶点v1出发对该图进行遍历,分别给出一个按深度优先遍历和广度优先遍历的顶点序列。

【解答】邻接矩阵表示如下:

深度优先遍历序列为:

v1v2v3v5v4v6

广度优先遍历序列为:

v1v2v4v6v3v5

邻接表表示如下:

8.图6-7所示是一个无向带权图,请分别按Prim算法和Kruskal算法求最小生成树。

【解答】按Prim算法求最小生成树的过程如下:

按Kruskal算法求最小生成树的过程如下:

9.对于图6-8所示的带权有向图,求从源点v1到其他各顶点的最短路径。

【解答】从源点v1到其他各顶点的最短路径如下表所示。

源点终点最短路径最短路径长度

v1v7v1v77

v1v5v1v511

v1v4v1v7v413

v1v6v1v7v4v616

v1v2v1v7v222

v1v3v1v7v4v6v325

10.如图6-9所示的有向网图,利用Dijkstra算法求从顶点v1到其他各顶点的最短路径。

【解答】从源点v1到其他各顶点的最短路径如下表所示。

源点终点最短路径最短路径长度

v1v3v1v315

v1v5v1v515

v1v2v1v3v225

v1v6v1v3v2v640

v1v4v1v3v2v445

11.证明:

只要适当地排列顶点的次序,就能使有向无环图的邻接矩阵中主对角线以下的元素全部为0。

【解答】任意n个结点的有向无环图都可以得到一个拓扑序列。

设拓扑序列为v0v1v2…vn-1,我们来证明此时的邻接矩阵A为上三角矩阵。

证明采用反证法。

假设此时的邻接矩阵不是上三角矩阵,那么,存在下标i和j(i>j),使得A[i][j]不等于零,即图中存在从vi到vj的一条有向边。

由拓扑序列的定义可知,在任意拓扑序列中,vi的位置一定在vj之前,而在上述拓扑序列v0v1v2…vn-1中,由于i>j,即vi的位置在vj之后,导致矛盾。

因此命题正确。

12.算法设计

⑴设计算法,将一个无向图的邻接矩阵转换为邻接表。

【解答】先设置一个空的邻接表,然后在邻接矩阵上查找值不为零的元素,找到后在邻接表的对应单链表中插入相应的边表结点。

邻接矩阵存储结构定义如下:

constintMaxSize=10;

template

structAdjMatrix

{

Tvertex[MaxSize];//存放图中顶点的数组

intarc[MaxSize][MaxSize];//存放图中边的数组

intvertexNum,arcNum;//图的顶点数和边数

};

邻接表存储结构定义如下:

constintMaxSize=10;

structArcNode//定义边表结点

{

intadjvex;//邻接点域

ArcNode*next;

};

template

structVertexNode//定义顶点表结点

{

Tvertex;

ArcNode*firstedge;

};

structAdjList

{

VertexNodeadjlist[MaxSize];

intvertexNum,arcNum;//图的顶点数和边数

};

具体算法如下:

⑵设计算法,将一个无向图的邻接表转换成邻接矩阵。

【解答】在邻接表上顺序地取每个边表中的结点,将邻接矩阵中对应单元的值置为1。

邻接矩阵和邻接表的存储结构定义与上题相同。

具体算法如下:

⑶设计算法,计算图中出度为零的顶点个数。

【解答】在有向图的邻接矩阵中,一行对应一个顶点,每行的非零元素的个数等于对应顶点的出度。

因此,当某行非零元素的个数为零时,则对应顶点的出度为零。

据此,从第一行开始,查找每行的非零元素个数是否为零,若是则计数器加1。

具体算法如下:

⑷以邻接表作存储结构,设计按深度优先遍历图的非递归算法。

【解答】参见6.2.1。

⑸已知一个有向图的邻接表,编写算法建立其逆邻接表。

【解答】在有向图中,若邻接表中顶点vi有邻接点vj,在逆邻接表中vj一定有邻接点vi,由此得到本题算法思路:

首先将逆邻接表的表头结点firstedge域置空,然后逐行将表头结点的邻接点进行转化。

⑹分别基于深度优先搜索和广度优先搜索编写算法,判断以邻接表存储的有向图中是否存在由顶点vi到顶点vj的路径(i≠j)。

【解答】⑴基于深度优先遍历:

⑵基于广度优先遍历:

学习自测及答案

1.某无向图的邻接矩阵A=

,可以看出,该图共有()个顶点。

A3B6C9D以上答案均不正确

【解答】A

2.无向图的邻接矩阵是一个(),有向图的邻接矩阵是一个()

A上三角矩阵B下三角矩阵C对称矩阵D无规律

【解答】C,D

3.下列命题正确的是()。

A一个图的邻接矩阵表示是唯一的,邻接表表示也唯一

B一个图的邻接矩阵表示是唯一的,邻接表表示不唯一

C一个图的邻接矩阵表示不唯一的,邻接表表示是唯一

D一个图的邻接矩阵表示不唯一的,邻接表表示也不唯一

【解答】B

4.十字链表适合存储(),邻接多重表适合存储()。

【解答】有向图,无向图

5.在一个具有n个顶点的有向完全图中包含有()条边:

An(n-1)/2Bn(n-1)Cn(n+1)/2Dn2

【解答】B

6.n个顶点的连通图用邻接矩阵表示时,该矩阵至少有()个非零元素。

【解答】2(n-1)

7.表示一个有100个顶点,1000条边的有向图的邻接矩阵有()个非零矩阵元素。

【解答】1000

8.一个具有n个顶点k条边的无向图是一个森林(n>k),则该森林中必有()棵树。

 Ak Bn Cn-k D1

【解答】C

9.用深度优先遍历方法遍历一个有向无环图,并在深度优先遍历算法中按退栈次序打印出相应的顶点,则输出的顶点序列是()。

 A逆拓扑有序B拓扑有序C无序 D深度优先遍历序列

【解答】A

10.关键路径是AOE网中()。

A从源点到终点的最长路径B从源点到终点的最长路径

C最长的回路 D最短的回路

【解答】A

11.已知无向图G的邻接表如图6-10所示,分别写出从顶点1出发的深度遍历和广度遍历序列,并画出相应的生成树。

【解答】深度优先遍历序列为:

1,2,3,4,5,6

对应的生成树为:

广度优先遍历序列为:

1,2,4,3,5,6

对应的生成树为:

12.已知已个AOV网如图6-11所示,写出所有拓扑序列。

【解答】拓扑序列为:

v0v1v5v2v3v6v4、v0v1v5v2v6v3v4、v0v1v5v6v2v3v4。

 

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

当前位置:首页 > 表格模板 > 合同协议

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

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