在加权图中将循环图转换为非循环图

时间:2019-06-12 06:00:58

标签: algorithm graph-theory depth-first-search weighted-graph cyclic-graph

为我提供了一个具有非负权重的连通加权图。我想将其转换为连接的非循环图,以使已删除边缘的权重之和最小。输出将是已删除的边缘。

我的想法:由于一个相连的无环图是一棵树,因此我可以简单地利用最大的n-1边,然后删除所有其他边。但是,这可能并不总是正确的。可能导致图形断开。

然后,我想到了使用dfs。我知道如何使用dfs检测图是否具有循环,但是我不知道如何检测所涉及的所有边以及如何将其转换为非循环图。任何帮助(代码/伪代码/算法的话)将不胜感激。谢谢...

1 个答案:

答案 0 :(得分:2)

您需要最大的生成树。 将Kruskal算法用于权重为负的最小生成树。