离散数学测验题——图论答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
离散数学测验题——图论
1. (40分)下图1为某市地图,其中11个结点表示该市的所有城镇,结点间的边代表在城镇间可能建造的铁路线,边上的数字代表修造该段铁路的花费。
图 1
(1)试问如何建造铁路使得总开销最小并可连接所有城镇?(分别利用Kruskal
算法和Prim算法求解,并写明求解过程。要求从a点开始。)(20分)
a) Kruskal算法求最小生成树:
根据权值将各边由小到大排序后,根据Kruskal算法得到如下最小生成树的求解过程:
最小生成树的求解过程如下:
(2)若该市的城镇j 将修建一旅游景点,同时拉动i 和k 两地的经济,因此修造j 到i 和k 的直接铁路线,尽管花费很高但仍十分必要。请求出加入此限制条件后(即边ij和jk要被选入)图1的最小生成树,并写明求解过程。(20分)
a) 利用Kruskal算法求包含边ij和边j k的最小生成树:
根据权值将除去边ij和边jk的其它边由小到大排序后,根据Kruskal算法(不能形成圈)得到
如下最小生成树的求解过程:
b) 利用Prime算法求包含边ik和边j k的最小生成树:
将已经添加到生成树的集合设为{i, j, k},再根据Prime算法,逐步在已经添加至生成树的顶
点集与未添加到生成树的顶点集之间找具有最小权值的边添加到生成树中,求解过程如下:
条?请写明计算过程。
图2
此有向图的邻接矩阵为⎪⎪⎪⎪
⎪⎭⎫ ⎝⎛=01100011
0101
1000A ,则根据矩阵乘法可知 ⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=⎪⎪⎪⎪⎪⎭⎫ ⎝⎛⨯⎪⎪⎪⎪⎪⎭⎫
⎝
⎛=011
2110010110110
01
1000110101100001100011010110002A ⎪⎪⎪⎪⎪⎭
⎫ ⎝⎛=⎪⎪⎪⎪⎪⎭⎫ ⎝⎛⨯⎪⎪⎪⎪⎪⎭⎫
⎝⎛=⨯=2112012112110112
011211001011011001100011010110002
3A A A ⎪⎪⎪⎪⎪⎭
⎫ ⎝⎛=⎪⎪⎪⎪⎪⎭⎫ ⎝⎛⨯⎪⎪⎪⎪⎪⎭⎫
⎝
⎛=⨯=2332
12131233211221
12
01211211011201100011010110003
4A A A ,将4A 中各元素记为(4)
,i j a 则所有4长的路的条数即为4
A 中所有元素之和,即4
(4)
,,1
i j
i j a =∑=32(条),其中长度为4的回路的条数是4A 的所有对角线元素之和,即9条。
(注:对邻接矩阵A 的k 次方(一般的矩阵乘法)后,k A 中的任一元素()
,k i j a 表示从v i 到v j 的长度为k 的路的条数。)
3.(20分)用Dijstra 算法求图3中结点v 1到其它所有结点的最短路径及距离,并填写下表。
图 3
12v 1到v 3的最短距离为 6 ,最短路径为 v1-v3 v 1到v 4的最短距离为 4 ,最短路径为 v1-v4 v 1到v 5的最短距离为 4 ,最短路径为 v1-v2-v5 v 1到v 6的最短距离为 5 ,最短路径为 v1-v2-v5-v6 v 1到v 7的最短距离为 9 ,最短路径为 v1-v2-v5-v6-v7 v 1到v 8的最短距离为 12 ,最短路径为 v1-v2-v5-v8
v 1
v 2
v 5
v 4
10
v 8
7
v 11
v 3 v 6 v 9 2 2
4
8
9
2
6
5
5 3 1 4 8
6 4 3 3
7 5 6 4 2
v1到v9的最短距离为8 ,最短路径为v1-v2-v5-v9
v1到v10的最短距离为11 ,最短路径为v1-v2-v5-v9-v10
v1到v11的最短距离为12 ,最短路径为v1-v2-v5-v9-v11
4. (20分)无向树T 有n i个i 度顶点,i=2, 3, …,k,其余顶点全是树叶,求T 的树叶数. (写出计算过程)