25版王道数据结构课后习题详细分析 第六章图 6.2图的存储及基本操作

一、单项选择题

————————————————————

ed0ec4a22c50431eb5465204b8aa19ba.png

————————————————————

解析:

ad40486264514cba916c5ba184638350.png
正确答案:B

————————————————————

14ea082a50a94d91ab540dc41bdf84a3.png

————————————————————

解析:除主对角线上的元素外,其余元素全为1,说明任意两个顶点之间都有边相连,因此该图一定是完全图。

正确答案:C

————————————————————

23e3628c41a04887b10631e8763f0814.png

————————————————————

解析:在无向图的邻接矩阵中,矩阵大小为n2,非零元素的个数为2e,所以零元素的个数为n-2e。读者应掌握此题的变体,即当无向图变为有向图时,能够求出零的个数和非零的个数。

正确答案:D

————————————————————

5de473d3e8ed438ba3fb270db2db943e.png

————————————————————

解析:带权有向图的邻接矩阵中,0和无穷表示的都不是有向边,而入度是由邻接矩阵的列中元素计算出来的;出度是由邻接矩阵的行中元素计算出来的。

正确答案:D

————————————————————

ed781624e00a42ae80bba6a9ad5114b2.png

————————————————————

解析:有向图的入度是其第i列的非0元素之和,无向图的度是第i行或第i列的非0元素之和。

正确答案:B、D

————————————————————

e885b6caee424b0b9121eac8805532c2.png

————————————————————

解析:邻接矩阵的顶点数等于矩阵的行(列)数,有向图的边数等于矩阵中非零元素的个数,无向图的边数等于矩阵中非零元素个数的一半。

正确答案:B、B、D

————————————————————

670ac2ed5697454f97d62fe2e03171ef.png

————————————————————

解析:邻接矩阵表示唯一是因为图中边的信息在矩阵中有确定的位置,邻接表不唯一是因为邻接表的建立取决于读入边的顺序和边表中的插入算法。

正确答案:B

————————————————————

81e73d2a609f40ec9dcdad2204f9a30e.png

————————————————————

解析:

2b0c600dd744401c8aeb9a62a2d38778.png
正确答案:A

————————————————————

e4296098601e45c485a732a76a933abd.png

————————————————————

解析:邻接表存储时,顶点数n决定了顶点表的大小,边数e决定了边表结点的个数,且无向图的每条边存储两次,总存储空间为O(n+2e)。而邻接矩阵只与图的顶点数有关,为O(n²)。

正确答案:A

————————————————————

d7558d60a17546bc8de7ea9ecac88fe1.png

————————————————————

解析:无向图采用邻接表表示时,每条边存储两次,所以其边表结点的个数为偶数。题中边表结点为奇数个,所以必然是有向图,且有奇数条边。

正确答案:D

————————————————————

494e4069a34f4baabbc7a96f4b9a439b.png

————————————————————

解析:题中的边表是不包括顶点表的。因为任何顶点u对应的边表中存放的都是以u为起点的边所对应的另一个顶点v。从而v在边表中出现的次数也就是它的入度。

正确答案:C

————————————————————

2f797162124e44a5b6167eb8cb259ef5.png

————————————————————

解析:最多有n(n-1)/2条边,每条边在邻接表中存储两次,因此边表结点最多为n(n-1)个。

正确答案:B

————————————————————

ca386d00f1824746b124fc197ef8db8b.png

————————————————————

解析:建立图的邻接表需要遍历所有的顶点和边,每个顶点有一个顶点表结点,每条边需要创建一个边表结点并插入到相应的链表中。因此,共需n+2e次操作,时间复杂度为O(n+e)。

正确答案:A

————————————————————

ca23aef076b841839eacaa60b2f1bbe8.png

————————————————————

解析:与顶点v相关的边包括出边和入边,对于出边,只需遍历v的顶点表结点和其指向的边表;对于入边,则需遍历整个边表。先删除出边:删除v的顶点表结点的单链表,出边数最多为n-1,时间复杂度为O(n);再删除入边:扫描整个边表(即扫描剩余全部顶点表结点及其指向的边表),删除所有的顶点v的入边,时间复杂度为O(n+e)。所以总时间复杂度为O(n+e)。

正确答案:C

————————————————————

0178c17550434ba59316f0ed4ccf0ee5.png

————————————————————

解析:无向图的邻接表中,第i个顶点的度为第i个链表中的结点数,所以选项A错。邻接表和邻接矩阵对于不同的操作各有优势,选项B和C都不准确。有向图结点的度包括出度和入度,对于出度,需要遍历顶点表结点所对应的边表;对于入度,则需要遍历剩下的全部边表。

正确答案:D

————————————————————

d6be750ca60e435781c938ea8209d87c.png

————————————————————

解析:邻接多重表是无向图的存储结构。

正确答案:A

————————————————————

563eae96133b4b7485c1fceaf63c72f8.png

————————————————————

解析:十字链表是有向图的存储结构。

正确答案:B

————————————————————

f7f75f8b488a4e058f3560bd3a997053.png

————————————————————

解析:邻接矩阵A为非对称矩阵,说明图是有向图,度为入度与出度之和。各顶点的度是矩阵中此结点对应的行(对应出度)和列(对应入度)的非零元素之和。

正确答案:C

二、综合应用题

————————————————————

040ea49fca0f4be2856bff89626e2579.png

————————————————————

解答:

0cc20d58b1e742c0ac9a7fed8b52aa21.png

————————————————————

5a44f271791d418c802d53fddb690e11.png

————————————————————

解答:

b54bf629d35c45399e176010105f3fbf.png

————————————————————

75c47bba5cc74cf1be6f3e8f392e3a84.png

————————————————————

解答:

————————————————————

b959bfbfac4b47c8af471a9f2beb1f47.png

————————————————————

解答:

————————————————————

————————————————————

解答:

————————————————————

————————————————————

解答:

————————————————————

————————————————————

解答:

————————————————————

————————————————————

解答:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值