求无向连通图最小生成树算法.docVIP

  • 9
  • 0
  • 约3.43千字
  • 约 6页
  • 2017-06-08 发布于湖北
  • 举报
求无向连通图的最小生成树算法——Prim与Kruskal及相关优化最小生成树是图论里很重要的部分。但是由于它属于图论所以NOIP基本不考,对于NOI又太基础,所以竞赛中出现的几率比较小,即使要考也不可能考裸的生成树算法= = 最小生成树就Prim和Kruskal两个算法,又没有多大的优化余地,所以学习起来还是很简单的。 ???? 一.Prim算法 1.算法思想 对于图G=(V,E),用Prim算法求最小生成树T=(S,TE)的流程如下 ① 初始化:设S、TE为空集,任选节点K加入S。 ② 选取一条权值最小的边(X,Y),其中X∈S,且not (Y∈S) 即,选取一条权值最小的、连接着S中一点与S外一点的边。 将Y加入S中,边(X,Y)加入TE中 重复② 直到V=S即所有G中的点都在S中,此时的T为G的最小生成树。 由此流程可见,Prim算法求最小生成树时任何时候的T都是一颗树。 ???????? 2.实现 显然,Prim算法的主要运行时间花在过程②的选边中。看起来复杂度是O(VE)=O(V^3)不是么,效率也太低了吧…… ????????????????????????????????????? ?????? 为了比较快速地选边,我们用两个数组lowcost、closest动态地维护每一个点到S的最短距离。在

文档评论(0)

1亿VIP精品文档

相关文档