mwbr.net
当前位置:首页 >> Prim算法适用于边数较()的图? >>

Prim算法适用于边数较()的图?

边数较少可以用Kruskal,因为Kruskal算法每次查找最短的边。 边数较多可以用Prim,因为它是每次加一个顶点,对边数多的适用。

指的是最小生成树的一种算法么,和dijstra算法思想接近, 但是第一步是先将权最小的边的两个点加入以确定set。 然后一步步 从un set加入与这个集合距离最短的点,然后更新这个set到unset的每一点的最短距离, 直到全部加入

边数较少可以用Kruskal,因为Kruskal算法每次查找最短的边。 边数较多可以用Prim,因为它是每次加一个顶点,对边数多的适用。

稠密图的(也就是 边数为O(nlog2n) ~O(n^2)的无向图)

你需要存一个图的必备变量 你需要一个数组 l[i] 记录第 i 个点所连的最小生成树边的边权 一个布尔数组 u[i] 记录第 i 个点是否已经作为起点拓展过 再有就是打擂台用的辅助变量了

O(n^2), O(elog2e) 求这两个结果的过程任何一本比较全面的数据结构教科书上都有的

不好意思吖按照图弄那两个中间数组太久了。。。实现方法也有不同。我跟您说说我学的通用实现方法吧! 点集合:A,代表已经扩展到的点。 边集合B:代表待考虑的边,一开始为空。 一开始从任意点出发,如0.此时集合A中只有点0。将和A相邻的所有边...

你的图里有两条边权重一样,在实际计算前无法事先保证最小生成树的唯一性,即使是两个不同的Prim算法也可能产生不同的结果 当然,计算完之后情况会略有不同,下面会解释 Prim算法首先会依次选 E(1,2)=1 E(2,7)=2 E(2,3)=3 然后E(3,4)=E(7,6)=4,...

在图论中,对于这种权值固定且为正的连通图来说,有比较成熟的最小生成树算法。如著名的Prim算法和Kruskal算法,这两个算法都是贪心算法的例子Prim算法的时间复杂度为 ,适合求边稠密的网络图的最小生成树;Kruskal算法的时间复杂度为 ,适合求...

网站首页 | 网站地图
All rights reserved Powered by www.mwbr.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com