0

我必须在有向循环图中找到从源 s 到目标 f 的最长路径。假设即使不存在正权重周期,也不存在正权重周期,则确实存在 0 或负权重周期。有人可以建议在这种情况下找到最长路径的算法。如果可能,请引用来源。

谢谢

4

3 回答 3

2

只需否定您的边缘权重并运行最短路径算法(例如,Bellman-Ford)。

零重量循环可能是一个问题。您需要通过选择最短的路径(长度,而不是重量)来打破路径上的关系。一种方法是使您的权重成为一对(-(原始权重),1),将它们成对添加,并进行字典排序。

另见两个顶点之间的最长路径

于 2010-10-04T17:21:20.257 回答
0

如果您有 DCG,则可以在到达目标之前永远循环,这将是“最长的路径”。在这种情况下,问题是不完整的,算法可能会根据具体情况而有所不同。

这听起来像家庭作业。

于 2010-10-04T15:47:03.933 回答
0

我不确定这是否可行(需要检查)但是......你可以做类似的事情:

min = min weight on the graph.
max = max weight on the graph.
为所有边设置新的权重 = wNew(e) = max - (wOld(e)-min)

现在有负权重,权重是相反的顺序(意思是如果w(e1)w(e2)现在更小)。

如果我们现在搜索最短路径会怎样?

于 2010-10-04T15:52:23.237 回答