普利姆算法(Prim)解决修路问题
普利姆算法(Prim)
使用普利姆算法(Prim)求最小生成树
一个有 n 个结点的连通图的生成树是原图的极小连通子图,且包含原图中的所有 n 个结点,并且有保持图连通的最少的边。
最小生成树
(1)给定一个带权的无向连通图,使边上权的总和为最小。
(2)N个顶点,一定有N-1条边
(3)包含全部顶点
(4)N-1条边全在图中
具体实现方法:
先选中一个节点为初始节点作为一个整体,在剩下所有节点与该节点相连的边中,选择最短的一条边,这条边的节点与之前的节点一起作为一个整体,在新加入这个整体的那个节点,在继续寻找与该节点相连的边中最短的一个,将这个节点的边与之前的节点一起作为一个整体,以此类推,直到遍历完所有的节点。
胜路村现在有七个村庄(A,B,C,D,E,F,G),现在需要修路把七个村庄连通
各村庄之间的距离由边线表示
如何保证个村庄都能连通,并且修建里程数最短
尽可能少的路线,连通,且里程数最短
选择A作为出发顶点,步骤如下&