训练4 总结

最后一个专题了

加上考试  过的忙忙的!

说说这次学到了什么吧

关于图的并查集  最小生成树两种算法,最短距离


最小生成树

 Prim (Dijksta的推广)
1) 
适用范围: 
a) MST(Minimum Spanning Tree,最小生成树) 
b) 无向图(有向图的是最小树形图) 
c) 多用于稠密图 
2) 
算法描述: 
a) 初始化:dis[v]=maxint(v∈V,v≠s); dis[s]=0; pre[s]=s; S={s};tot=0 
b) For i:=1 to n 
1.取顶点v∈V-S使得W(u,v)=min{W(u,v)|u∈S,v∈V-S,(u,v)∈E} 
2.S=S+{v};tot=tot+W(u,v);输出边(u,v) 
3.For V-S中每个顶点v do Relax(u,v,Wu,v) 
c) 算法结束:tot为MST的总权值 

一种:
procedure relax(u,v,w:integer);        //松弛技术
begin 
  if w<dis[v] then 
    begin 
      pre[v]:=u; 
      dis[v]:=w; 
    end; 
end; 


 Kruskal 
1) 适用范围: 
a) MST(Minimum Spanning Tree,最小生成树) 
b) 无向图(有向图的是最小树形图) 
c) 多用于稀疏图 
d) 
边已经按权值排好序给出 
2) 算法描述: 
基本思想:每次选不属于同一连通分量(保证无圈)且边权值最小的2个顶点,将边加入MST,并将所在的2个连通分量合并,直到只剩一个连通分量 
3) 算法实现: 
a) 将边按非降序排列(Quicksort,O(E㏒E)) 
b) While 合并次数少于|V|-1 
i. 取一条边(u,v)(因为已经排序,所以必为最小) 
ii. If u,v不属于同一连通分量 then 
1) 合并u,v所在的连通分量 
2) 输出边(u,v) 
3) 合并次数增1;tot=tot+W(u,v) 
c) 算法结束:tot为MST的总权值 


主要熟悉这两种

其他算法    希望以后可以接着学习




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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值