1.
最小生成树:给定一个无向网络,在该网的所有生成树中,使得各边权数之和最小的那棵生成树称为该网的最小生成树,也叫最小代价生成树
2.构造最小生成树的方法(1.普里姆算法2.克鲁斯卡尔算法)
构造最小生成树的算法很多,其中多数算法都利用了一种称之为 MST 的性质
MST 性质:设 N = (V, E) 是一个连通网,U 是顶点集 V 的一个非空子集。若边 (u, v) 是一条具有最小权值的边,其中u∈U,v∈V-U,则必存在一棵包含边 (u, v) 的最小生成树。
方法一:普里姆算法
方法二:克鲁斯卡尔算法(最小生成树可能不唯一)
练习:
1.n 个顶点的连通图至少 (n-1 ) 条边。
2. 在一个无向图的邻接表中,若表结点的个数是 m,则图中边的条数是 (m/2 ) 条。
3. 分别用普里姆和克鲁斯卡尔算法构造下图所示网络的最小生成树。
4. 分别求出图 4 从 v2 出发按深度优先搜索和广度优先搜索算法遍历得到的顶点序列(假设图的存储结构采用邻接矩阵表示)。
5. 已知一个有向图的邻接表如图 5 所示,求出根据深度优先搜索算法从顶点 v1 出发遍历得到的顶点序列。
答案:
1.n-1 2. m/2 3.
4. 深度: v2 v1 v3 v4 v5 v6 广度: v2 v1 v3 v6 v5 v4 5. v1 v3 v4 v5 v2(深度不唯一)