标签: minimum-spanning-tree

Kruskal vs Prim

我想知道什么时候应该使用Prim的算法,什么时候Kruskal才能找到最小的生成树?它们都具有简单的逻辑,同样最坏的情况,唯一的区别是实现可能涉及一些不同的数据结构.那么决定因素是什么?

algorithm graph-theory minimum-spanning-tree prims-algorithm kruskals-algorithm

183
推荐指数
7
解决办法
17万
查看次数

Prim和Dijkstra算法的区别?

Dijkstra和Prim的算法之间的确切区别是什么?我知道Prim会给MST,但是Dijkstra生成的树也是MST.那究竟是什么区别?

algorithm graph dijkstra minimum-spanning-tree prims-algorithm

76
推荐指数
7
解决办法
8万
查看次数

如何找到最大生成树?

与最小生成树的Kruskal算法相反吗?我的意思是,每一步选择最大重量(边缘)?

找到最大生成树的任何其他想法?

algorithm greedy minimum-spanning-tree kruskals-algorithm

51
推荐指数
3
解决办法
7万
查看次数

最小生成树是否害怕负权重?

这是为什么大多数图算法不能轻易适应负数的后续问题.

我认为Shortest Path(SP)在负权重方面存在问题,因为它会沿着路径累加所有权重并尝试找到最小权重.

但我不认为最小生成树(MST)存在负权重问题,因为它只需要单个最小权重边缘而不关心总权重.

我对吗?

algorithm graph minimum-spanning-tree data-structures

41
推荐指数
2
解决办法
3万
查看次数

生成树的最小瓶颈与最小生成树有何不同?

加权图的最小瓶颈生成树ģ是生成树ģ使得在生成树任何边的最大重量最小化.MBST不一定是MST(最小生成树).

请举例说明这些陈述是否有意义.

algorithm graph minimum-spanning-tree spanning-tree

32
推荐指数
2
解决办法
2万
查看次数

所有最小生成树实现

我一直在寻找一个实现(我正在使用networkx库.),它将找到无向加权图的所有最小生成树(MST).

我只能找到Kruskal算法和Prim算法的实现,这两种算法都只返回一个MST.

我已经看到了解决这个问题的论文(比如代表所有最小的生成树以及应用程序计数和生成),但是我的脑袋往往会在尝试思考如何将其转换为代码时出现爆炸.

事实上,我无法找到任何语言的实现!

python language-agnostic algorithm graph-theory minimum-spanning-tree

23
推荐指数
1
解决办法
1万
查看次数

插入新边时更新最小生成树

我在大学里遇到了以下问题:

G =(V,E)为(无向)图与成本Ç Ë上边缘> = 0 ËË.假设给你一个最低成本生成树牛逼.现在假设一个新的边缘被添加到ģ,连接两个节点v,vV与成本Ç.

  1. 提供一种有效的算法来测试T是否仍然是最小成本生成树,并将新边添加到G(但不添加到树T).使算法在时间O(| E |)中运行.你能在O(| V |)时间内完成吗?请注意您对用于表示树T和图G的数据结构所做的任何假设.
  2. 假设T不再是最小成本生成树.给出线性时间算法(时间O(| E |))以将树T更新为新的最小成本生成树.

这是我找到的解决方案:

Let e1=(a,b) the new edge added
Find in T the shortest path from a to b (BFS)
if e1 is the most expensive edge in the cycle then T remains …
Run Code Online (Sandbox Code Playgroud)

language-agnostic algorithm minimum-spanning-tree

20
推荐指数
2
解决办法
2万
查看次数

通过修改边缘更新最小生成树

带有MST的图形(正权重边)如果某个边缘,e被修改为新值,更新MST而不完全重建它的最佳方法是什么.我认为这可以在线性时间内完成.此外,似乎我需要一个不同的算法,基于1)e是否已经是MST的一部分,2)新边缘e是大于还是小于原始边缘

algorithm graph-theory minimum-spanning-tree

18
推荐指数
2
解决办法
2万
查看次数

最小生成树与最短路径树之间的差异

这是一个消费税:

要么证明以下内容,要么给出一个反例:

(a)无向图的最小生成树中的一对顶点之间的路径是否必须是最短(最小权重)路径?

(b)假设图的最小生成树是唯一的.在无向图的最小生成树中,一对顶点之间的路径是否必须是最短(最小权重)路径?

我的回答是

(一个)

不,例如,对于图0,1,2,0-1是4,2-2是2,2-0是5,那么0-2的真正最短路径是5,但是mst是0-1-2 ,在mst,0-2是6

(b)中

我的问题进入了这个(b).

我不明白怎么whether the MST is unique会影响最短的路径.

首先,我的理解是,当边的权重不明显时,可能同时存在多个MST,对吧?

其次,即使MST是唯一的,上述(a)的答案仍然适用于(b),对吧?

algorithm graph shortest-path minimum-spanning-tree data-structures

17
推荐指数
2
解决办法
2万
查看次数

在有向图上查找最小生成树

我可以使用什么算法在有向图上找到最小生成树?我尝试使用Prim算法的修改,但无法使其工作.

algorithm graph minimum-spanning-tree

16
推荐指数
1
解决办法
9852
查看次数