Prim算法和Dijkstra算法非常类似,他们的伪码几乎相近,只是他们优先队列所排序的键值不同而已。Prim算法的键值为节点与集合S中顶点间的最轻边的权重,而在Dijkstra算法中,键值为由起始点到某节点的完整路径长度。 在后面的博客中会说明最小生成树MST与最短路径的区别。 2.代码实例 #include<iostream> #include<malloc....
简而言之,kruskal是找边的算法,prim算法是找点的算法。 3.1 kruskal算法基本思想: kruskal算法每次选择n-1条边,所使用的贪婪准则是:从剩下的边中选择一条不会产生环路的具有最小耗费的边加入已选择的边的集合中。注意到所选取的边若产生环路则不可能形成一棵生成树。 kruskal算法分e步,其中e 是网络中边的数目。
简而言之,kruskal是找边的算法,prim算法是找点的算法。 3.1 kruskal算法基本思想: kruskal算法每次选择n-1条边,所使用的贪婪准则是:从剩下的边中选择一条不会产生环路的具有最小耗费的边加入已选择的边的集合中。注意到所选取的边若产生环路则不可能形成一棵生成树。 kruskal算法分e步,其中e 是网络中边的数目。