什么是最小生成树? 一个有 n 个结点的连通图的生成树是原图的极小连通子图,且包含原图中的所有 n 个结点,并且有保持图连通的最少的边。 因此,只有连通图才存在最小生成树,因为所有顶点都可达,如果是非连通图,一定不存在最小生成树。 求最短路径时的图一般是有向图 求最小生成树时的图一般是无向图 最小生成树的应用 例如要在n个城市之间铺设光缆,主要目标是要使这 n 个城市的任意两个之间都可以通信,但铺设光缆的费用很高,且各个城市之间铺设光缆的费用不同,因此另一个目标是要使铺设光缆的总费用最低。 这就需要找到带权的最小生成树。 算法实现 prim算法 kruskal算法