下面是求无向连通图的最小生成树的一种算法:
//设图中总顶点数为n,总边数为m
将图中所有的边按其权值从大到小排序为;
若图不再连通,则恢复e1;(m=m+1);I=i+1;
(1)试间这个算法是否正确,并说明原因。
(2)以图8-44所示的图为例,写出执行以上算法的过程。
问题描述:给定有向图G=(V,E).设P是G的一个简单路(顶点不相交)的集合.如果V中每个顶点恰好在P的条路上,则称P是G的一个路径覆盖.P中路径可以从V的任何一个项点开始,长度也是任意的,特别地,可以为0.G的最小路径覆盖是G的所含路径条数最少的路径覆盖.
设计一个有效算法求一个有向无环图G的最小路径覆盖.
[设V={1,2,...,n},如下构造网络G1=(V1,E1):
每条边的容量均为1.求网络G1的(x0,y0)最大流.]
算法设计:对于给定的有向无环图G,找出G的一个最小路径覆盖.
数据输入:由文件input.txt提供输入数据.文件第1行有2个正整数n和m.n是给定有向无环图G的顶点数,m是G的边数.接下来的m行,每行有2个正整数i和j,表示一条有向边(i,j).
结果输出:将最小路径覆盖输出到文件output.txt.从第1行开始,每行输出一条路径.文件的最后一行是最少路径数.
图G=,其中V=(a.b.c.d),E={(a,b),(a.c),(a.d),(b.c),(b.d),(c,d)},对应边的权值依次为1、1、5、2、3及4。
(1)请画出G的图形
(2)写出G的邻接矩阵
(3)求出G权最小的生成树及其权值
A、用邻接矩阵存储一个图时所占用的存储空间大小与图中的顶点个数有关,而与图的边数无关
B、邻接表只能用于有向图的存储,邻接矩阵对于有向图和无向图的存储都适用
C、邻接矩阵只适用于稠密图(边数接近于顶点数的平方),邻接表适用于稀疏图(边数远小于顶点数的平方)
D、存储无向图的邻接矩阵是对称的,因此只要存储邻接矩阵的下(上)三角部分就可以了