生成树(spanning tree):无向联通图的某个子图中,任意两个顶点互相都联通并且形成了一棵树,那么这棵树就叫做生成树。
最小生成树(MST,minimum spanning tree):如果为有权图的生成树,使得边权和最小的生成树就叫做最小生成树。
从生成树的定义中可以看出,为房子设计电路或者为村庄修建道路这类问题都可以转换为最小生成树问题。
常见的求解算法有Prim算法和Kruskal算法。
Prim算法:
Prim算法和Dijkstra算法很相似,都是一种从某个顶点出发不断添加边的算法。