【发布时间】:2010-11-20 03:38:39
【问题描述】:
为了好玩,我正在学习图论,我遇到了这个问题。给定一组顶点 V,一组边 E,以及 E 中每条边的权重,我如何有效地构造一个图 G,使得:
- G 已连接(所有顶点都通过某个路径连接)
- 边的权重之和被最小化
E 中的边是有向的,当 E 中的所有边都存在时,可以有循环。
【问题讨论】:
为了好玩,我正在学习图论,我遇到了这个问题。给定一组顶点 V,一组边 E,以及 E 中每条边的权重,我如何有效地构造一个图 G,使得:
E 中的边是有向的,当 E 中的所有边都存在时,可以有循环。
【问题讨论】:
参见Minimum Spanning Tree 算法。
【讨论】:
好的...我能知道 MrDatabase 是什么吗? SSSP 算法(dijkstra、Bellman-Ford)是刚才提到的 MST 的变体。 Dijkstra 没有解决负重量循环问题,而 Bellman-Ford 解决了。
【讨论】:
添加到 ars 的答案中,如果您的图形包含负权重的边,那么问题会变得更加困难(如果您有负权重循环,则可能没有解决方案)。
【讨论】:
阅读贝尔曼-福特算法。它支持负重量循环。 Dijkstra 的算法更有效,但它不支持负权重循环。
【讨论】: