数据结构——基于C++语言(微课版) 课件 10-普里姆算法.ppt

数据结构——基于C++语言(微课版) 课件 10-普里姆算法.ppt

普里姆算法本节目录:本节内容:构造最小生成树的方法最小生成树

最小生成树构造最小生成树方法方法一:普里姆(Prim)算法——归并顶点,时间复杂度O(n2)方法二:克鲁斯卡尔(Kruskal)算法——归并边,时间复杂度与边相关

最小生成树普里姆(Prim)算法算法思想:设N=(V,E)是连通网,TE是N的最小生成树上边的集合,U为算法在构造最小生成树中已得到的顶点集。(1)初始时U={u0}(u0?V),TE=?;(2)从某一顶点u0出发,选择最小权值的边(u0,vi);(3)将(u0,vi)并入集合TE,同时将vi并入U;(4)在所有u?U,v?V-U的边(u,v)?E中,找一条权值最小的边(u,v),将(u,v)并入集合TE,v并入U;(5)重复上述操作至U=V为止,则T=(V,TE)为N的最小生成树;算法复杂度:T(n)=O(n2)存储结构:邻接矩阵适用范围:边稠密的连通网络

最小生成树普里姆算法示例:归并顶点1654326513566425(a)1(b)131(c)16314(d)1643142(e)164321425(f)16543214253(g)

最小生成树普里姆算法示例:归并顶点1654326513566425165432142

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档