文章

2

粉丝

68

获赞

2

访问

15.0k

头像
DreamJudge1312_kruskal算法
推荐阅读
P1319 浙江大学机试题
发布于2021年5月27日 20:14
阅读数 8.6k

  1. Kruskal 求解的是全图连通的最低成本,即使为了保证图中的任意两点连通,所需要的最小花费
  2. Kruskal  = 贪心策略 + 并查集
  3. 其实Kruskal 就是利用了并查集的特点,并查集可以通过输入的边来判断其是否为连通图所必要的边,如果是那么进行连接,不必要掠过
  4. 如果再将输入边的权值按从小到大排列,那么并查集记录的就是使图联通的必要的最小边的集合,即最小生成树,其权值和即为所求
  5. sum 记录权值和,total 记录 输入边中为必要的连通的边为多少,若 total < N -1 ,那么图不连通,就更谈不上最小生成树
  6. 注意:并查集:find() 初始化,连通边 ,+ 排序  =  Kruskal 
  7. 其实相对于并查集,Kruskal 就是 定义了一个数据结构,记录权值,并按权值进行排序,再根据顺序输入并查集连通边的判断
  8. 适合于边少的  M logM 
登录查看完整内容


登录后发布评论

暂无评论,来抢沙发