图的应用--Prim算法

图的应用–Prim算法

Prim算法是一种基于顶点的贪心算法,从起始顶点出发,每次迭代选择当前可用的最小权值边,然后把边上依附的其他顶点加入最小生成树。prim算法可以称为“加点法”,比较适合稠密图
算法思想:
设G=(V, E)是一个加权连通图(连通网),T = (U, TE)是G的一棵最小生成树。TE是G上最小生成树边的集合
(1)最小生成树T的初始状态为U={u0}(u0∈V),TE={},此时图中只有一个起始顶点,边集为空。
在这里插入图片描述
***第一步:***生成树初态 U = {V1} V-U = {V2, V3, V4, V5, V6} TE = {}

(2)在所有u∈U,v∈V-U的边中找一条代价最小的边(u, v),把边(u, v)并入生成树的边集TE中,同时v并入生成树的顶点集U中
在这里插入图片描述
***第二步:***选择边(V1, V3, 1),顶点V3并入U集合中 U={V1, V3} V-U = {V2, V4, V5, V6} TE = {(0, 2, 1)}

(3)重复执行步骤(2),直至U=V为止。此时,TE中必有n-1条边,T=(U,TE)为G的最小生成树,每一次新加顶点后,观察此时每个顶点的邻接点,选择邻接点权值最小的那个加入
在这里插入图片描述
***第三步:***选择边{V3, V6, 4},顶点V6并入U集合中 U = {V1, V3, V6} V-U = {V2, V4, V5} TE = {(0, 2, 1),(2, 5, 4)}

在这里插入图片描述
***第四步:***选择边{V6, V4, 2},顶点V4并入U集合中 U = {V1, V3, V6, V4} V-U = {V2, V5} TE = {(0, 2, 1),(2, 5, 4), (5, 3, 2)}

在这里插入图片描述
***第五步:***选择边{V3, V2, 5},顶点V2并入U集合中 U={V1, V3, V4, V2} V-U = {V5} TE = {(0, 2, 1),(2, 5, 4), (5, 3, 2),(2, 1, 5)}

在这里插入图片描述
***第六步:***选择边{V2, V5, 3},顶点V5并入U集合中 U={V1, V3, V4, V2, V5} U=v TE = {(0, 2, 1),(2, 5, 4), (5, 3, 2),(2, 1, 5), (1, 4, 3)},结束

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值