数据结构单元8练习参考答案汇编.docx
《数据结构单元8练习参考答案汇编.docx》由会员分享,可在线阅读,更多相关《数据结构单元8练习参考答案汇编.docx(20页珍藏版)》请在冰豆网上搜索。
![数据结构单元8练习参考答案汇编.docx](https://file1.bdocx.com/fileroot1/2022-10/9/18398692-e5f8-4c36-acdb-1ecb633eec51/18398692-e5f8-4c36-acdb-1ecb633eec511.gif)
数据结构单元8练习参考答案汇编
学习-----好资料
单元练习8
一.判断题(下列各题,正确的请在前面的括号内打√;错误的打)╳(√)
(1)图可以没有边,但不能没有顶点。
(ㄨ)
(2)在无向图中,(V,V)与(V,V)是两条不同的边。
1221(ㄨ)(3)邻接表只能用于有向图的存储。
(√)(4)一个图的邻接矩阵表示是唯一的。
(ㄨ)(5)用邻接矩阵法存储一个图时,所占用的存储空间大小与图中顶点个数无关,而只与图的边数有关。
(ㄨ)(6)有向图不能进行广度优先遍历。
(√)(7)若一个无向图的以顶点V为起点进行深度优先遍历,所得的遍历序列唯一,则可以唯一1确定该图。
(√)(8)存储无向图的邻接矩阵是对称的,因此只要存储邻接矩阵的上三角(或下三角)部分就可以了。
(ㄨ)(9)用邻接表法存储图时,占用的存储空间大小只与图中的边数有关,而与结点的个数无关。
(√)(10)若一个无向图中任一顶点出发,进行一次深度优先遍历,就可以访问图中所有的顶点,则该图一定是连通的。
二.填空题
(1)图常用的存储方式有邻接矩阵和邻接表等。
(2)图的遍历有:
深度优先搜和广度优先搜等方法。
(3)有n条边的无向图邻接矩阵中,1的个数是_2n____。
(4)有向图的边也称为_弧___。
(5)图的邻接矩阵表示法是表示__顶点____之间相邻关系的矩阵。
(6)有向图G用邻接矩阵存储,其第i行的所有元素之和等于顶点i的__出度____。
2)n。
e条边的图若采用邻接矩阵存储,则空间复杂度为:
O((7)n个顶点(8)n个顶点e条边的图若采用邻接表存储,则空间复杂度为:
O(n+e)。
(9)设有一稀疏图G,则G采用_邻接表____存储比较节省空间。
(10)设有一稠密图G,则G采用_邻接矩阵____存储比较节省空间。
(11)图的逆邻接表存储结构只适用于__有向____图。
(12)n个顶点的完全无向图有n(n-1)/2_条边。
(13)有向图的邻接表表示适于求顶点的出度。
(14)有向图的邻接矩阵表示中,第i列上非0元素的个数为顶点V的入度。
i(15)对于具有n个顶点的图,其生成树有且仅有n-1条边。
(16)对n个顶点,e条弧的有向图,其邻接表表示中,需要n+e个结点。
(17)从图中某一顶点出发,访遍图中其余顶点,且使每一顶点仅被访问一次,称这一过程为图
的遍历。
(18)无向图的邻接矩阵一定是对称矩阵。
更多精品文档.
学习-----好资料
(19)一个连通网的最小生成树是该图所有生成树中权最小的生成树。
(20)若要求一个稠密图G的最小生成树,最好用Prim算法来求解。
三.选择题
(1)在一个图中,所有顶点的度数之和等于图的边数的(C)倍。
A.1/2B.1C.2D.4
(2)在一个有向图中,所有顶点的入度之和等于所有顶点的出度之和的(B)倍。
A.1/2B.1C.2D.4
(3)对于一个具有n个顶点的有向图的边数最多有(B)。
A.nB.n(n-1)C.n(n-1)/2D.2n
(4)在一个具有n个顶点的无向图中,要连通全部顶点至少需要(C)条边。
A.nB.n+1
C.n-1
D.n/2
(5)有8个结点的有向完全图有(C)条边。
A.14B.28C.56D.112
(6)深度优先遍历类似于二叉树的(A)。
A.先序遍历B.中序遍历C.后序遍历D.层次遍历
(7)广度优先遍历类似于二叉树的(D)。
A.先序遍历B.中序遍历C.后序遍历D.层次遍历
(8)任何一个无向连通图的最小生成树(A)。
A.只有一棵B.一棵或多棵C.一定有多棵D.可能不存在
(9)无向图顶点v的度是关联于该顶点(B)的数目。
A.顶点B.边C.序号D.下标
(10)有n个顶点的无向图的邻接矩阵是用(B)数组存储。
A.一维B.n行n列C.任意行n列D.n行任意列
(11)对于一个具有n个顶点和e条边的无向图,采用邻接表表示,则表头向量大小为(C)。
n+e
D.Cn+1
.n
n-1
A.B.A)。
(12)在图的表示法中,表示形式唯一的是(B.邻接表表示法A.邻接矩阵表示法.邻接表和逆邻接表表示法C.逆邻接表表示法D)。
e条边的图中,所有顶点的度数之和等于(C13()在一个具有n个顶点2e
D.C.2n.A.nBe
)。
)下列图中,度为(143的结点是(B
1
2
3
54更多精品文档.
学习-----好资料
D.VC.VA.VB.V4321(15)下列图是(A)。
1
2
3
54
D.无环图B.强连通图C.生成树A.连通图
。
)D(16)如下图所示,从顶点a出发,按深度优先进行遍历,则可能得到的一种顶点序列为(
a
f,b,e,c,dA.a,d,,f,e,bB.a,cb
c
df,,c,,C.ae,beb,f,c,eD.a,,dfd
)A。
17()如下图所示,从顶点a出发,按广度优先进行遍历,则可能得到的一种顶点序列为(
a
f,b,e,,d,cA.adf,,,e,caB.,bb
c
dc,f,eC.a,,b,eb,c,eD.a,,d,ffd
)算法。
18()最小生成树的构造可使用(A
prim算法B.卡尔算法C.迪杰斯特拉算法D.哈夫曼算法A.A)下面关于图的存储结构的叙述中正确的是()。
(19用邻接矩阵存储图,占用空间大小只与图中顶点数有关,而与边数无关.A
用邻接矩阵存储图,占用空间大小只与图中边数有关,而与顶点数无关B.用邻接表存储图,占用空间大小只与图中顶点数有关,而与边数无关.C用邻接表存储图,占用空间大小只与图中边数有关,而与顶点数无关D.
(20)连通分量是()的极大连通子图。
C
.无向图B.树A.图C.有向图D
四.应用题(30分)更多精品文档.
好资料学习-----.有向图如下图所示,画出邻接矩阵和邻接表1
①
③②
⑤④
解:
(1)邻接矩阵
12345
110101?
?
?
?
020010?
?
?
?
100300?
?
000410?
?
?
?
010500?
?
(2)邻接表
1235∧
2∧4
∧35
∧41
∧54
),5,),(,()条边依次为(条边,这个结点,.2已知一个无向图有6990,1,02),04,(0出发,分别0443423,),(,),(,),(,5)。
试画出该无向图,并从顶点221(,),(分)写出按深度优先搜索和按广度优先搜索进行遍历的结点序列。
(5解:
0
5
124
3
35(答案不唯一)4出发的深度优先搜索遍历的结点序列:
从顶点0012
(答案不唯一)出发的广度优先搜索遍历的结点序列:
0012453从顶点
3.已知一个无向图的顶点集为:
{a,b,c,d,e},其邻接矩阵如下,画出草图,写出顶点a出更多精品文档.
学习-----好资料
发按深度优先搜索进行遍历的结点序列。
(5分)
01001?
?
?
?
00011?
?
?
?
11000?
?
01101?
?
?
?
01101?
?
解:
(1)
(2)深度优先搜索:
aabdce(答案不唯一)
广度优先搜索:
cebabedc(答案不唯一)
d
4.网G的邻接矩阵如下,试画出该图,并画出它的一棵最小生成树。
0810110?
?
?
?
803013?
?
?
?
004103?
?
110407?
?
?
?
070013?
?
解:
最小生成树:
11
811
108
3434
2432
13734
755
5.已知某图G的邻接矩阵如图,
0101?
?
(1)画出相应的图;?
?
0011?
?
)要使此图为完全图需要增加几条边。
(2?
?
1001?
?
1010?
?
解:
(1)1212
4334
(2)完全无向图应具有的边数为:
n*(n-1)1/2=4*(4-1)/2=6,所以还要增加2条边(如右图)。
更多精品文档.
好资料学习-----:
.已知如图所示的有向图,请给出该图的6
/出度;1)每个顶点的入(邻接表;
(2)邻接矩阵。
(3)
解:
(2))(1634512顶点223211入度310223出度
)(3
.如图,请完成以下操作:
7写出无向带权图的邻接矩阵;2)(设起点为a,求其最小生成树。
(3)
解:
可以直接由原,2)起点为a
(1)邻接矩阵为:
(始图画出最小生成树?
?
?
043?
?
?
?
?
?
54059?
?
?
?
?
55?
?
?
350?
?
4657?
550?
?
?
?
9?
?
703?
?
?
6302?
?
?
?
?
605?
?
?
?
2?
?
06?
4?
?
5?
?
?
更多精品文档.
好资料学习-----G:
.给定下列网8
的邻接矩阵;画出网G
(1)画出网G的最小生成树。
2()
解:
(2)最小生成树
(1)邻接矩阵
?
?
?
?
4?
12?
?
?
?
?
89?
12?
20?
?
AC
B12?
?
15?
?
20?
?
?
?
10?
?
?
?
15?
?
?
EF
D
G
?
?
?
6?
48?
?
?
?
?
?
9?
?
?
6?
?
?
?
?
?
10?
?
?
12?
?
五.程序题填空题。
(v,w)的操作:
DeleteArc(G,v,w)图G为有向无权图,试在邻接矩阵存储结构上实现删除一条边”。
”;若成功删除,则边数减1,并返回“OK,返回“若无顶点v或wERROR0)(提示:
删除一条边的操作,可以将邻接矩阵的第i行全部置解:
(v,w)上删除边StatusDeleteArc(MGraph&G,charv,charw)//在邻接矩阵表示的图G;ERROR{if((i=LocateVex(G,v))<0)return
;ERRORif((j=LocateVex(G,w))<0)return
if(G.arcs[i][j].adj)
;
{G.arcs[i][j].adj=0
G.arcnum=G.arcnum-1)(或G.arcnum--;
}
;returnOK
}
六.算法题编写一个无向图的邻接矩阵转换成邻接表的算法。
1.
n个顶点的有向图邻接表,设计算法分别实现以下功能:
2.以知有G
(1)求出图中每