首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Dijkstra与MST的关系

Dijkstra与MST的关系
EN

Stack Overflow用户
提问于 2020-12-15 21:40:49
回答 1查看 316关注 0票数 2

当我看到this question时,这个问题突然浮现在我的脑海中。为了简单起见,我们可以将讨论限制在无向、加权、连通图上。显然,如果从图中选择任意节点作为源,Dijkstra不能保证生成MST。然而,它是否保证在一个无向、加权、连通图中必须存在一个节点,如果我们选择它作为源并应用Dijkstra的算法,它将为该图生成一个MST?也许你可以给出一个证据或者一个反例。谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-15 23:59:46

然而,

是否保证在一个无向、加权、连通的图中必须存在一个节点,如果我们选择它作为源并应用Dijkstra的算法,它将为该图生成一个MST?

不,Dijkstra的算法最小化了从单个节点到所有其他节点的路径权重。最小生成树最小化将所有节点连接在一起所需的权重之和。没有理由期望这些不同的需求会导致相同的解决方案。

考虑一个完整的图,其中任意两个边的权重之和超过了任何单个边的权重。这迫使Dijkstra始终选择直接连接作为两个节点之间的最短路径。然后,如果图中的最低权边并非都来自一个节点,则最小生成树将不与Dijkstra生成的任何树相同。

下面是一个例子:

最小生成树由三条边组成,权重为3(总权重9)。Dijkstra算法返回的树将是直接连接到源节点的三条边(总权重10或11)。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65317872

复制
相关文章
MST3
MST3是哺乳动物STE20丝氨酸/苏氨酸蛋白激酶家族成员,1997年首次从hela细胞cDNA文库中分离出来,属于SPS1亚族,包含一个N端催化功能区和一个C端调节功能区。 例子出处来源于UCSF
用户2493118
2018/07/03
3560
Dijkstra
迪杰斯特拉算法是典型的求解最短路径的方法。 优点,时间复杂度为O(n2),主要思想就是遍历邻居,找到路径最短的邻居,添加到路径信息里面。再更新这个添加点,是否能减少到其他点的路径长度。 但是有一个缺点,就是这个算法只满足一个节点的扫描信息,如果想计算所有的节点到达其他节点的最短路径,就需要每次调用一次该算法。时间复杂度变为O(n3). 总体来说,分为两部分 第一部分:查找当前节点周围的最近的邻居; min = INF; for(j=0; j<MAXSIZE; j++){
用户1154259
2018/01/17
5470
Dijkstra
Dijkstra算法
nx.info: [1, 2, 3, 4, 6, 7, 8, 9, 10, 11] 顶点 v1 到 顶点 v11 的最短加权路径: [1, 2, 3, 7, 10, 9, 11] 顶点 v1 到 顶点 v11 的最短加权路径长度: 9
裴来凡
2022/05/29
4030
Dijkstra算法
PageRank、最小生成树:ML开发者应该了解的五种图算法
在互联世界中,用户不能被视为独立的实体。他们之间存在一定的关系,我们有时希望在构建机器学习模型时考虑到这些关系。
机器之心
2019/09/10
1K0
PageRank、最小生成树:ML开发者应该了解的五种图算法
GREEDY ALGORITHMS II
Dijkstra’s algorithm(迪杰斯特拉算法)是一种用于求解单源最短路径问题的经典算法。该算法可以计算从单个起始节点到图中所有其他节点的最短路径。Dijkstra’s algorithm适用于没有负权边的有向或无向带权图。
Ywrby
2023/10/16
1880
GREEDY ALGORITHMS II
GREEDY ALGORITHMS II
Dijkstra’s algorithm(迪杰斯特拉算法)是一种用于求解单源最短路径问题的经典算法。该算法可以计算从单个起始节点到图中所有其他节点的最短路径。Dijkstra’s algorithm适用于没有负权边的有向或无向带权图。
Ywrby
2023/10/16
2300
GREEDY ALGORITHMS II
Dijkstra算法
Dijkstra算法使用了广度优先搜索解决赋权有向图(或无向图)的单源最短路径问题。
mwangblog
2019/05/16
1.1K0
dijkstra算法原理是什么?dijkstra算法的缺点是什么?
dijkstra算法也被称为狄克斯特拉算法,是由一个名为狄克斯特拉的荷兰科学家提出的,这种算法是计算从一个顶点到其他各个顶点的最短路径,虽然看上去很抽象,但是在实际生活中应用非常广泛,比如在网络中寻找路由器的最短路径就是通过该种算法实现的。那么dijkstra算法原理是什么?dijkstra算法的缺点是什么?
用户8739990
2021/06/25
8.7K0
Dijkstra算法
Dijkstra(迪杰斯特拉)算法是典型的最短路径路由算法,用于计算一个节点到其它全部节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法能得出最短路径的最优解,但因为它遍历计算的节点非常多,所以效率低。
全栈程序员站长
2021/12/05
4510
数据结构–图
1.图 图G由顶点集V和关系集E组成,记为:G=(V,E),V是顶点(元素)的有穷非空集,E是两个顶点之间的关系的集合。 若图G任意两顶点a,b之间的关系为有序对,∈E, 则称为从a到b的一条弧/有向边;其中: a是的弧尾,b是的弧头;称该图G是有向图。 若图G的任意两顶点a,b之间的关系为无序对(a,b), 则称(a,b)为无向边(边),称该图G是无向图。 无向图可简称为图。 2.完全图 3.网:带权的图 4.子图:对图 G=(V,E)和G’=(V’,E’), 若V’
用户7267083
2022/12/08
6490
数据结构–图
POJ 1679 The Unique MST(Kruskal+记录边)
       首先我们求一个最小生成树把每条边记录下来,然后我们对这个最小生成树进行删边操作,再删除一条边后,能不能再生成一个权值相同的最小生成树就行了。我刚开始有一个错误的想法,但是感觉是对的...就是我们求一个最小生成树,然后把每条边和他的权值记录下来,然后再去遍历所有边去找没有记录过的边而且权值已经出现过的边,这样的话就不是唯一的最小生成树了。然而这画个图就可以看出来显然是错的,因为会出现不连通的情况。
Ch_Zaqdt
2019/01/10
5120
【图】Dijkstra算法
正文之前 好久没弄C++了,上学期颓废了半学期,这学期开学就搞课程设计快疯了。待会要考试CSP,所以弄点代码储备,待会到了考场说不定能省点功夫! 正文 #include<iostream> usin
用户1687088
2018/07/24
1K0
【图】Dijkstra算法
SpringBoot与SpringCloud的关系与区别
1、SpringBoot:是一个快速开发框架,通过用MAVEN依赖的继承方式,帮助我们快速整合第三方常用框架,完全采用注解化(使用注解方式启动SpringMVC),简化XML配置,内置HTTP服务器(Tomcat,Jetty),最终以Java应用程序进行执行。
全栈程序员站长
2022/07/01
7890
Pod与ingress的关系
1、通过service相关联 2、通过ingress Controller实现pod的负载均衡 -支持TCP/UDP 4层和HTTP7层
院长技术
2020/12/07
1.4K0
HDOJ 2112(最短路)
题意描述 经过锦囊相助,海东集团终于度过了危机,从此,HDU的发展就一直顺风顺水,到了2050年,集团已经相当规模了,据说进入了钱江肉丝经济开发区500强。这时候,XHD夫妇也退居了二线,并在风景秀美
dejavu1zz
2020/10/23
5530
一文综述数据科学家应该了解的5个图算法
在互联世界中,用户不是独立的实体,它们彼此之间具有一定的关系,我们有时在构建机器学习模型时就包括这些关系。
磐创AI
2019/10/09
8940
一文综述数据科学家应该了解的5个图算法
Clang与LLVM的关系
LLVM是构架编译器(compiler)的框架系统,以C++编写而成,用于优化以任意程序语言编写的程序的编译时间(compile-time)、链接时间(link-time)、运行时间(run-time)以及空闲时间(idle-time),对开发者保持开放,并兼容已有脚本。LLVM计划启动于2000年,最初由University of Illinois at Urbana-Champaign的Chris Lattner主持开展。2006年Chris Lattner加盟Apple Inc.并致力于LLVM在Apple开发体系中的应用。Apple也是LLVM计划的主要资助者[引自百度百科]。
用户1148523
2019/05/27
1.7K0
ReplicationController与Deployment的关系
Replication Controller为Kubernetes的一个核心内容,应用托管到Kubernetes之后,需要保证应用能够持续的运行,Replication Controller就是这个保证的key,主要的功能如下:
菲宇
2019/06/12
1K0
beanpostprocessor与@autowired的关系
@autowired可以很好地将某个bean注入进另外一个bean,其实追溯代码发现了他其实也是继承自beanpostprocessor,在通过上一篇博客所讲到的原理,实现了注入功能:
gzq大数据
2021/05/14
7380
XRDP与VNC的关系
如果仅仅安装XRDP协议。是不能在windows上使用远程桌面连接到Ubuntu。
全栈程序员站长
2022/07/10
3.3K0

相似问题

Dijkstra遍历关系属性

15

图中与MST相关的边

113

dijkstra与A星的区别与优势

512

递归与Dijkstra算法

11

Dijkstra算法与贪婪策略

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文