【发布时间】:2013-01-24 12:32:07
【问题描述】:
假设我们有无向的加权图。我们的任务是找到两个顶点(源和目标)之间的所有路径,总成本等于 = N。 我认为可以通过修改后的 Dijkstra 算法结合 BFS 或 DFS 来完成,但我不知道如何实现这样的事情。感谢您的帮助。
【问题讨论】:
-
相等,或最多相等?如果是前者,则通过简化为哈密顿路径问题,该问题是 NP-hard。
-
那么你的问题是 NP-hard(NP-complete 甚至更糟),我似乎无法找到一个 NP 解决方案来count 路径。
-
请注意,最多可以有
(n-2)!解决方案(完整图,所有边的长度相等,需要哈密顿路径),因此枚举会非常慢。 -
我的目标不是计算路径,而是计算等于 N 的总路径值
-
你想枚举长度为
N的路径,对吧?可能有很多个。
标签: graph complexity-theory dijkstra depth-first-search backtracking