*17.解释一下最小生成树
最小生成树:就是生成树里面最小的。
那么先讲什么是生成树:
生成树必须具备的几个条件:
1.是连通图;
2.含有图的所有顶点(n);
3.只有n-1条边;
4.任意加一边构成环。
那生成树有什么意义呢?举个例子,假如现在n个村子,这n个村子之间 还没通网络,他们想要彼此之间通网,那么也就是需要把大家连在一个网络里,也就是把每个村子当做顶点放在连通图里。这样子就解决问题了,但是这样子的连通图有很多个,每个村子之间可能会有很多条线,显然会浪费,那么我们就要求只有n-1条网线。这就是生成树。那问题来了,他们最后发现只有n-1条网线的方案也有很多种,他们想知道哪一种线路是总网线长度最短?这个时候他们想出来最小生成树。
从上面我们可以得出最小生成树的概念:
生成树+路径最短
这个时候我就很好奇,这些村民是怎么找出最小生成树的呢?要把所有的生成树画出来后再计算吗?
答案并不是的。他们发明了两种算法:
**Kruskal算法:**就是把每个村的距离先写出来,然后把最小距离的村子之间连起来,然后再看距离第二小的两个村子,如果这两个村子还没连通,那么就把它们连起来,如果连通了就放弃,直接看距离第三小的两个村子。就这样子重复知道所有的顶点都连通。这是一个叫做克鲁斯卡尔的村民提出来,所有叫克鲁斯卡尔算法;
**Prim算法:**对,这是另一个村民提出来的算法,叫普里姆算法。这个算法是基于顶底。首先先选一个村子,然后算出其他相邻的村子到这个村子的距离,把最短的村子连起来。然后再把这两个村子看成 一个整体,看看其他的村子到这两个村子的距离,然后再挑选最短的连起来。重复知道所有的村子都被连起来了。
这个时候有一个村长就说了,克鲁斯卡尔和普里姆两个人算出来的是同一个吗?会不会出现两种不同的方案?
确实,克鲁斯卡尔算法和普里姆算法会有可能出现不同的最小生成树。
*17.解释一下最小生成树相关推荐
- 面试分享系列 | 17道Python面试题,让你在求职中无往不利
今天给大家分享的是Python面试题系列的第一篇文章,后续我也会陆续整理Python相关的问题给大家,无论是求职者还是新人都可以通过面试题来考察自己的能力缺陷. 这些问题由伯乐在线整理,原文是Pyth ...
- ai python 面试_面试分享系列 | 17道Python面试题,让你在求职中无往不利
今天给大家分享的是Python面试题系列的第一篇文章,后续我也会陆续整理Python相关的问题给大家,无论是求职者还是新人都可以通过面试题来考察自己的能力缺陷. 1.Python中pass语句的作用是 ...
- 面试分享:17道Python面试题,让你在求职中无往不利
今天给大家分享的是Python面试题系列的第一篇文章,后续我也会陆续整理Python相关的问题给大家,无论是求职者还是新人都可以通过面试题来考察自己的能力缺陷. 1.Python中pass语句的作用是 ...
- 17道Python面试题,让你在求职中无往不利
今天给大家分享的是Python面试题系列的第一篇文章,后续我也会陆续整理Python相关的问题给大家,无论是求职者还是新人都可以通过面试题来考察自己的能力缺陷. 1.Python中pass语句的作用是 ...
- 2022双非计算机保研经历
时隔23天,保研边缘人还是决定记录一下自己的经历,希望可以帮助更多的学弟学妹,也给自己的保研之路一个交代. 1. 基本信息 学校:河南双非 专业:软件工程 排名:18/363 GPA:3.52/4 英 ...
- 力扣—— 三维形体投影面积
在 N * N 的网格中,我们放置了一些与 x,y,z 三轴对齐的 1 * 1 * 1 立方体. 每个值 v = grid[i][j] 表示 v 个正方体叠放在单元格 (i, j) 上. 现在,我们查 ...
- 机器学习与深度学习常见面试问题与答案
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自|OpenCV学堂 第2章 数学知识 1.计算下面函数的一 ...
- 2019年一线大厂20个长问mongo面试题和答案
以下是新入职场和有经验的开发人员在面试中经常被问到mongo面试问题. 1)解释什么是MongoDB? Mongo-DB是一种提供高性能.高可用性和易于扩展的文档数据库. 2) MongoDB中的&q ...
- java class类结构
class文件格式如下: Java代码 相信学java的人都对new Object();创建对象都很熟悉,但想要真正了解原理就没那么容易!以以下例子为例,解释class代码及执行过程,如有错误, ...
最新文章
- suse linux登录黑屏,SUSE Linux登录时黑屏解决办法
- 【自动化测试】搭建一个简单从Excel读取用例内容并输出结果的脚本
- Android--获取当前系统时间
- excel函数中if android,在Android中阅读Excel
- mac 上传ftp服务器文件夹权限,mac 访问 ftp服务器文件夹权限
- JDDroppableView
- 学习vim: 常用命令
- 纯干货:深度学习实现之空间变换网络-part2
- linux pwm 调屏_linux驱动---bl_pwm驱动与backlight class实现背光调整
- 2020博客之星结束了,感谢这些小伙伴们为我投票|博客之星TOP20的几位大佬
- Excel实现多表关联查询-VLOOKUP
- 零点存在定理与介值定理
- 生活里不能只有苦涩,不堪,适当露出一条缝隙,让光透进来
- 一定要学会了解大数据
- 决策树——员工离职预测模型搭建
- DBN深度信念网络详解
- 数论-杨辉三角和二项式定理
- MySQL-HA高可用
- 宅急送 项目第八天 JBPM工作流框架
- 【C++】C++实战项目机房预约管理系统