一些定义:
1.一个连通且无回路的无向图称为树.
2.若图G的生成子图是一棵树,则该树称为G的生成树.
3.在图G的所有生成树中,树权最小的那棵生成树,称作最小生成树.

关于找出最小生成树的两种算法,一个称为Kruskal(克鲁斯卡尔),另一个叫Prim(普里姆)

(1) Kruskal 算法
  step1:  选取最小权边e1, 置边数i=1
  step2:  若 i=n-1 结束,否则转到step3
  step3:  设已选择边为e1,e2,...ei  在 G中选取不同于e1,e2,...,ei的边, 使{e1,e2,...,ei,ei+1}中无回路且ei+1是满足此条件的最小边.
  step4: i= i+1 转 step2
 
一句话记住此算法: 在保证无回路前提下选n-1条最小权边.
如下图演示了此算法.

(2) Prim算法(普里姆算法)
   step1: 找出存在最小权边的点.
   step2: 若所有顶点已经过完,则结束.否则跳step3
   step3: 通过已存在的点构成的树来计算出此树到其它未到达的点的最小权.
   step4: 选取step3中标记的最小权边的顶点.转至step2.

注:此步骤为自己总结的,如有错误请指正.^_^

比较优劣:
从二者的原理来看,Kruskal是基于边的算法,Prim是基于顶点的.因此对于一个边数很多的图,用Kruskal算法不明智.而顶点多边少的图用Kruskal效率多了

(转)http://www.cnblogs.com/zimmerman/archive/2007/10/06/915704.html

最小生成树算法讨论(转)相关推荐

  1. 最小生成树算法-克鲁斯卡尔和普利姆

    http://www.cnblogs.com/qianbixin/p/5005161.html http://www.cnblogs.com/yoke/p/6697013.html 学习最小生成树算法 ...

  2. 最小生成树 算法_最小生成树算法

    最小生成树 算法 距离我的资格考试只有十天的路程,我决定离开教科书,改回写作. 毕竟,如果我可以解释这些概念,那么我应该能够通过对它们的测试,对吗? 好吧,今天我很有趣地介绍了算法课程中的一个概念:最 ...

  3. 技术图文:如何利用C# 实现 Prim 最小生成树算法?

    背景 我们上一篇图文介绍了 如何利用 C# 实现 Kruskal 最小生成树算法?,Kruskal 算法通过寻找边最优的方式来构造最小生成树,本篇图文介绍如何利用 C# 实现 Prim 最小生成树算法 ...

  4. 最小生成树算法MST_kruskal算法

    每日一贴,今天的内容症结字为最小生成树算法 MST(minimum spanning tree)即最小生成树算法,经典的有两个,这里分析一下kruskal算法.关于另外的一个prim算法,本blog也 ...

  5. 大话数据结构18:最小生成树算法

    prim最小生成树算法 对于几个图G{V,E};首先从V中任意选择一个顶点Vo 将其加入到顶点集合U中,在顶点集合V-U中计算所有到V中任意顶点假设是Vo最近的顶点Voo,将其加入到U中,并且记录边E ...

  6. 证明kruskal算法求解图的最小生成树具有贪心选择性质_将并查集应用在图论中的最小生成树算法——Kruskal...

    点击上方蓝字,和我一起学技术. 今天是算法和数据结构专题的第19篇文章,我们一起来看看最小生成树. 我们先不讲算法的原理,也不讲一些七七八八的概念,因为对于初学者来说,看到这些术语和概念往往会很头疼. ...

  7. 最小生成树算法(两个方法实现)

    何为最小生成树算法呢?(记得前提是该数是无向树)(在保证一个图连通的情况下,权值最小的边的集合) 科普一下图的相关定义: 关于图的几个概念定义: 连通图:在无向图中,若任意两个顶点vivi与vjvj都 ...

  8. 个人总结---连通图的最小生成树算法

    最近在复习数据结构和算法的的内容,栈和队列的思想是比较深刻,借于许多高级语言都有相应的框架实现了栈和队列链表等,所以对于这一类,我们只需要了解其思想,在真正操作时,也会显得比较简单.但是还有一类数据结 ...

  9. 2021年SWPUACM暑假集训day3最小生成树算法

    前言 视频链接 视频连接:https://www.bilibili.com/video/BV1wV411s7Pe 练习题单 SWPUOJ题单:http://acm.mangata.ltd/traini ...

最新文章

  1. gulp之gulp.watch报错
  2. sh mysql config_解决python安装mysqlclient出现“/bin/sh:1:mysql_config:not found”错误...
  3. 统计学里“P”的故事:蚊子、皇帝的新衣和不育的风流才子
  4. 数据预处理—4.为什么要趋近于正态分布?详解
  5. OEA ORM 框架中的冗余属性设计
  6. [ios] - TommyBros(山寨马里奥) – 开源游戏
  7. java game nokia 5233 model,诺基亚S60/^3完美运行GBA游戏教程 重回孩提时代
  8. smart检测指标详解
  9. 中企海外周报 | 华为在德国发布mate30系列手机;一汽新车亮相法兰克福车展
  10. XFS (dm-0) I/O error问题修复
  11. 经济学原理笔记-微观CP12-税制的设计
  12. python之迷宫小游戏
  13. phython学习第二天
  14. Rust的错误处理机制
  15. C语言从一段字符串中提取IP地址的方法
  16. android开发学习:打电话和发短信
  17. onnx-modifier使用
  18. 怎么关闭Windows安全启动?
  19. 【Try to Hack】Kerberos基础
  20. 汉字转拼音函数 linux,oracle 汉字转拼音

热门文章

  1. 关于UIImageView的显示问题——居中显示或者截取图片的中间部分显示
  2. 人工智能应用上的九大障碍
  3. 1066. [SCOI2007]蜥蜴【最大流】
  4. InfoQ宣布成立CNUT容器技术俱乐部 欲连接中国容器社区
  5. 深入理解客户的需求至关重要!
  6. Androidの多线程之更新ui(Thread+Handler+Message)
  7. 实现本机拷贝带进度的方法
  8. 组策略配置客户端计算机使用WSUS服务器进行更新
  9. 关于通过DDMS向Android系统的模拟器的sdcard中导入mp3文件的问题
  10. 【备忘录】技术笔记整理。