kruskal和prim都是用来求最小生成树。不同之处在于,前者根据边,后者根据点。所以kruskal算法适合稀疏图,而prim算法适合稠密图。
prim算法的步骤:
①储存图:可以使用邻接矩阵,结构体
②初始所有的点没有遍历。
③记录每个点到起点的距离。
④遍历n-1次选取剩下的点 每次都选取没有经历且到起点最短的点。
同时标记已读,更新该点相连的点到起点的距离。
kruskal算法步骤:
①存储图
②按权值排序
③从权值高到低选取,检测是否可能构成环
④选取了n-1条边后退出。