HDU 1863 畅通工程(最小生成树prim算法)

本文详细介绍了使用Prim算法求解无向图最小生成树的过程,包括初始化、更新距离、寻找安全边和判断生成树完整性等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

求MST的一般算法可描述为:针对图G,从空树T开始,往集合T中逐条选择并加入n-1条安全边(u,v),最终生成一棵含n-1条边的MST。

  当一条边(u,v)加入T时,必须保证T∪{(u,v)}仍是MST的子集,我们将这样的边称为T的安全边。

  用伪代码可将算法描述为:

  GenerieMST(G){//求G的某棵MST

  T〈-¢; //T初始为空,是指顶点集和边集均空

  while T未形成G的生成树 do{

  找出T的一条安全边(u,v);//即T∪{(u,v)}仍为MST的子集

  T=T∪{(u,v)}; //加入安全边,扩充T

  }

  return T; //T为生成树且是G的一棵MST

  }

  注意:

  下面给出的两种求MST的算法均是对上述的一般算法的求精,两算法的区别仅在于求安全边的方法不同。

  为简单起见,下面用序号0,1,…,n-1来表示顶点集,即是:

  V(G)={0,1,…,n-1},

  G中边上的权解释为长度,并设T=(U,TE)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值