-
最小生成树-Prim(普里姆)算法
-
算法定义:
假设 N=( V,{E} )(V为顶点集,E为边集合)是连通网,TE是N上最小生成树中边的集合,U为N上最小生成树的顶点集
算法从U={u0}(u0为选定的起点,u0∈V),TE={}(空集)开始
在所有 u∈U,v∈V-U 的边(u,v)∈E中,选一条代价最小(u0,v0)(两个集合间能连通的最小距)并入TE,同时 v0加入U,直到U=V(所有顶点连通)
此时TE必有n-1条边,T=( V,{TE} ) 为N的最小生成树
-
算法复杂度:
O(n^2)
-
兄弟算法:Kruskal

Prim算法是一种用于寻找图中最小生成树的方法,尤其适合于稠密图。从一个起点开始,逐步通过选择与当前最小生成树顶点相连的最小权值边来扩展。算法复杂度为O(n^2),与Kruskal算法相比,Prim在边数较多时表现更好,而Kruskal更适合稀疏图,复杂度为O(nlogn)。
最低0.47元/天 解锁文章
1547

被折叠的 条评论
为什么被折叠?



