更多和最小生成树相关的问题
-------------------siwuxie095
更多和最小生成树相关的问题
Prim 算法和 Kruskal 算法的时间复杂度
时间复杂度 |
|
Lazy Prim |
O(E*logE) |
Prim |
O(E*logV) |
Kruskal |
O(E*logE) |
Prim 算法和 Kruskal 算法的实现思路里,每次都有一个
取最小的操作
只不过对于 Prim 算法来说,取的是横切边中权值最小的
边,而对于 Kruskal 算法来说,取的是所有边中权值最小
的边
但是在这里,却忽略了一个问题:如果当前权值最小的边
有多条,怎么办?或者,换句话说,如果横切边有相等的
边,怎么办?
在这种情况下,其实之前实现的 Prim 算法和 Kruskal 算法,
都依然成立,但是根据算法的具体实现,对于同样小的两条
边,每次只有可能选择一条边
也正因为如此,在这种情况下,这个图也是存在多个最小生
成树的。它们的最小权值都一样,只不过树的形态不同罢了
显然,之前所实现的 Prim 算法和 Kruskal 算法最终都只能
找到多个最小生成树中的一个,当然,如果图中所有边的长
度都各不相同,最终就只可能有一个最小生成树
为此,也衍生出了一个问题:对于一个给定的图,它究竟有
多少个最小生成树?
另外,对于最小生成树问题,还有一个比较经典的算法,称
之为 Vyssotsky 算法
它的算法思想是:
1)将边逐渐地添加到生成树中
2)一旦形成环,就删除环中权值最大的边
对于这个算法,暂时没有非常优秀的数据结构能够快速地来
实现,因为它要删除边,同时还要保证删除的是在环上的权
值最大的边,所以还要探测环的存在,并找到一个环中权值
最大的边
【made by siwuxie095】
转载于:https://www.cnblogs.com/siwuxie095/p/7124301.html
更多和最小生成树相关的问题相关推荐
- 虚拟空间,域名解析,A记录,MX记录,CNAME记录,TTL 等 更多Web服务器相关名词解释
虚拟空间,域名解析,A记录,MX记录,CNAME记录,TTL 等 更多Web服务器相关名词解释 租用空间.网站服务器相关名词解释 什么是域名服务器? 域名服务器(Domain Name Server, ...
- 面试中更多会考核相关技能的项目经验——再论程序员该如何准备面试
在如何准备Java面试?如何把面试官的提问引导到自己准备好的范围内?这篇博文后,提到了不少引导的说辞和技巧,如果能把面试官的提问引导到事先准备好的亮点上,一方面确实可以更有效地耗费面试时间,另一方面也 ...
- ReactiveCocoa代码实践之-更多思考
三.ReactiveCocoa代码实践之-更多思考 1. RACObserve()宏形参写法的区别 之前写代码考虑过 RACObserve(self.timeLabel , text) 和 RACOb ...
- ajax 下拉刷新 上拉加载更多,局部刷新iscroll控件的具体使用(下拉刷新,上拉加载更多)...
标签下,这是调用iscroll的必要条件,否则会出现不能刷新或者不能滑动页面的情况.此外还有商量刷新及下拉刷新的标签,在iscroll中有这两个标签的样式,若不想用默认的样式,也可通过覆盖的方式添加其 ...
- Spark性能相关参数配置详解
随着Spark的逐渐成熟完善, 越来越多的可配置参数被添加到Spark中来, 本文试图通过阐述这其中部分参数的工作原理和配置思路, 和大家一起探讨一下如何根据实际场合对Spark进行配置优化. 由于篇 ...
- python多线程读取数据库数据_Python基于多线程操作数据库相关知识点详解
Python基于多线程操作数据库相关问题分析 本文实例分析了Python多线程操作数据库相关问题.分享给大家供大家参考,具体如下: python多线程并发操作数据库,会存在链接数据库超时.数据库连接丢 ...
- Java多线程相关的几十个问题
转载来源:http://www.cnblogs.com/HadesFX/p/5333810.html , https://www.cnblogs.com/HadesFX/p/5333820.html ...
- [BZOJ3669] [NOI2004] 魔法森林 LCT维护最小生成树
题面 一开始看到这道题虽然知道是跟LCT维护最小生成树相关的但是没有可以的去想. 感觉可以先二分一下总的精灵数,但是感觉不太好做. 又感觉可以只二分一种精灵,用最小生成树算另一种精灵,但是和似乎不单调 ...
- Spark 性能相关参数配置详解-压缩与序列化篇
作者:刘旭晖 Raymond 转载请注明出处 Email:colorant at 163.com BLOG:http://blog.csdn.net/colorant/ 随着Spark的逐渐成熟完善, ...
- mysql相关知识点_mysql相关知识点整理
一.安装 1.查看系统中是否已安装mysql [root@master ~]# yum list installed mysql* 已加载插件:fastestmirror, product-id, s ...
最新文章
- 怎样把做好的css样式改日期,Win8操作系统任务栏中日期样式怎么更改
- Fiddler的介绍和配置
- apache camel_发掘Apache Camel的力量
- vagrant使用centos的环境安装..
- pycharm常用设置(keymap设置及eclipse常用快捷键总结)
- 吴恩达作业11:残差网络实现手势数字的识别(基于 keras)+tensorbord显示loss值和acc值
- 2020中国移动阅读行业报告
- 第二讲 数学模型方法
- 2018年第九届蓝桥杯【C++省赛B组】【第六题:递增三元组】——二分解法
- Tpos时间定位表达式
- 2023年东大学机械专硕考研上岸经验分享
- Java类汽车,JAVA 建立一个汽车AutoMobile类......
- 上海计算机科学大学排名,2019上海软科世界一流学科排名计算机科学与工程专业排名卡耐基梅隆大学排名第4...
- 概率统计笔记之 “数学期望和方差”
- 吃什么食物对眼睛最好
- 曾国藩家书-修身篇 致诸弟·明师益友虚心请教
- unity复现中的错误
- 阿拉伯数字转换英文,适用于英文合同和国际贸易单证
- play_framework框架--教程(一)
- Jenkins linter