最小生成树:就是生成树里面最小的。
那么先讲什么是生成树:
生成树必须具备的几个条件:
1.是连通图;
2.含有图的所有顶点(n);
3.只有n-1条边;
4.任意加一边构成环。
那生成树有什么意义呢?举个例子,假如现在n个村子,这n个村子之间 还没通网络,他们想要彼此之间通网,那么也就是需要把大家连在一个网络里,也就是把每个村子当做顶点放在连通图里。这样子就解决问题了,但是这样子的连通图有很多个,每个村子之间可能会有很多条线,显然会浪费,那么我们就要求只有n-1条网线。这就是生成树。那问题来了,他们最后发现只有n-1条网线的方案也有很多种,他们想知道哪一种线路是总网线长度最短?这个时候他们想出来最小生成树。
从上面我们可以得出最小生成树的概念:
生成树+路径最短
这个时候我就很好奇,这些村民是怎么找出最小生成树的呢?要把所有的生成树画出来后再计算吗?
答案并不是的。他们发明了两种算法:
**Kruskal算法:**就是把每个村的距离先写出来,然后把最小距离的村子之间连起来,然后再看距离第二小的两个村子,如果这两个村子还没连通,那么就把它们连起来,如果连通了就放弃,直接看距离第三小的两个村子。就这样子重复知道所有的顶点都连通。这是一个叫做克鲁斯卡尔的村民提出来,所有叫克鲁斯卡尔算法;
**Prim算法:**对,这是另一个村民提出来的算法,叫普里姆算法。这个算法是基于顶底。首先先选一个村子,然后算出其他相邻的村子到这个村子的距离,把最短的村子连起来。然后再把这两个村子看成 一个整体,看看其他的村子到这两个村子的距离,然后再挑选最短的连起来。重复知道所有的村子都被连起来了。
这个时候有一个村长就说了,克鲁斯卡尔和普里姆两个人算出来的是同一个吗?会不会出现两种不同的方案?
确实,克鲁斯卡尔算法和普里姆算法会有可能出现不同的最小生成树。

*17.解释一下最小生成树相关推荐

  1. 面试分享系列 | 17道Python面试题,让你在求职中无往不利

    今天给大家分享的是Python面试题系列的第一篇文章,后续我也会陆续整理Python相关的问题给大家,无论是求职者还是新人都可以通过面试题来考察自己的能力缺陷. 这些问题由伯乐在线整理,原文是Pyth ...

  2. ai python 面试_面试分享系列 | 17道Python面试题,让你在求职中无往不利

    今天给大家分享的是Python面试题系列的第一篇文章,后续我也会陆续整理Python相关的问题给大家,无论是求职者还是新人都可以通过面试题来考察自己的能力缺陷. 1.Python中pass语句的作用是 ...

  3. 面试分享:17道Python面试题,让你在求职中无往不利

    今天给大家分享的是Python面试题系列的第一篇文章,后续我也会陆续整理Python相关的问题给大家,无论是求职者还是新人都可以通过面试题来考察自己的能力缺陷. 1.Python中pass语句的作用是 ...

  4. 17道Python面试题,让你在求职中无往不利

    今天给大家分享的是Python面试题系列的第一篇文章,后续我也会陆续整理Python相关的问题给大家,无论是求职者还是新人都可以通过面试题来考察自己的能力缺陷. 1.Python中pass语句的作用是 ...

  5. 2022双非计算机保研经历

    时隔23天,保研边缘人还是决定记录一下自己的经历,希望可以帮助更多的学弟学妹,也给自己的保研之路一个交代. 1. 基本信息 学校:河南双非 专业:软件工程 排名:18/363 GPA:3.52/4 英 ...

  6. 力扣—— 三维形体投影面积

    在 N * N 的网格中,我们放置了一些与 x,y,z 三轴对齐的 1 * 1 * 1 立方体. 每个值 v = grid[i][j] 表示 v 个正方体叠放在单元格 (i, j) 上. 现在,我们查 ...

  7. 机器学习与深度学习常见面试问题与答案

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自|OpenCV学堂 第2章 数学知识 1.计算下面函数的一 ...

  8. 2019年一线大厂20个长问mongo面试题和答案

    以下是新入职场和有经验的开发人员在面试中经常被问到mongo面试问题. 1)解释什么是MongoDB? Mongo-DB是一种提供高性能.高可用性和易于扩展的文档数据库. 2) MongoDB中的&q ...

  9. java class类结构

    class文件格式如下: Java代码   相信学java的人都对new  Object();创建对象都很熟悉,但想要真正了解原理就没那么容易!以以下例子为例,解释class代码及执行过程,如有错误, ...

最新文章

  1. suse linux登录黑屏,SUSE Linux登录时黑屏解决办法
  2. 【自动化测试】搭建一个简单从Excel读取用例内容并输出结果的脚本
  3. Android--获取当前系统时间
  4. excel函数中if android,在Android中阅读Excel
  5. mac 上传ftp服务器文件夹权限,mac 访问 ftp服务器文件夹权限
  6. JDDroppableView
  7. 学习vim: 常用命令
  8. 纯干货:深度学习实现之空间变换网络-part2
  9. linux pwm 调屏_linux驱动---bl_pwm驱动与backlight class实现背光调整
  10. 2020博客之星结束了,感谢这些小伙伴们为我投票|博客之星TOP20的几位大佬
  11. Excel实现多表关联查询-VLOOKUP
  12. 零点存在定理与介值定理
  13. 生活里不能只有苦涩,不堪,适当露出一条缝隙,让光透进来
  14. 一定要学会了解大数据
  15. 决策树——员工离职预测模型搭建
  16. DBN深度信念网络详解
  17. 数论-杨辉三角和二项式定理
  18. MySQL-HA高可用
  19. 宅急送 项目第八天 JBPM工作流框架
  20. 【C++】C++实战项目机房预约管理系统

热门文章

  1. 英语语法最终珍藏版笔记-3几个常用时态的比较
  2. 解析Objective-C中多态、动态类型和动态绑定
  3. IE6 object expected
  4. 【ajax+php】动态展示4级单位(省、市、县、镇)
  5. JSP学习笔记(一):JSP语法和指令
  6. IIS写权限漏洞 (HTTP PUT方法利用)
  7. 使用RawSocket进行网络抓包
  8. 定制CentOS 6.3 自动安装盘
  9. php程序员应该懂的几个基本概念
  10. DDOS三种不同类型的攻击行为—Vecloud