当图的节点具有权重时,计算定向无环图的关键路径的最佳方法(关于性能)是什么?如何计算定向非循环图的关键路径?
例如,如果我有以下结构:
Node A (weight 3)
/ \
Node B (weight 4) Node D (weight 7)
/ \
Node E (weight 2) Node F (weight 3)
关键路径应该是A-> B-> F(总重量:10)
当图的节点具有权重时,计算定向无环图的关键路径的最佳方法(关于性能)是什么?如何计算定向非循环图的关键路径?
例如,如果我有以下结构:
Node A (weight 3)
/ \
Node B (weight 4) Node D (weight 7)
/ \
Node E (weight 2) Node F (weight 3)
关键路径应该是A-> B-> F(总重量:10)
我会用动态规划解决这个问题。为了找到从S到T中的最大成本:
有一篇论文声称具有这样的算法:“具有时间限制的活动网络中的关键路径”。可悲的是,我找不到免费副本的链接。短的,我只能第二种改性http://en.wikipedia.org/wiki/Dijkstra%27s_algorithm或http://en.wikipedia.org/wiki/A *
UPDATE的想法:我的蹩脚的格式,服务器端降价发动机道歉显然打破。
我的第一个答案,请原谅任何非标准的东西由文化的计算器。
我认为解决方案很简单。只是否定权重并运行DAG的经典最短路径(当然,对顶点的权重进行修改)。它应该运行得相当快。(时间复杂度为O(V + E)也许)
我认为它应该当你抵消权重,最大的一个将变得最小,第二个最大的将是第二小的,等等,就好像a > b
然后-a < -b
。然后运行DAG应该就足够了,因为它会找到解决方案的最小路径的否定的一个,从而找到原来的最长路径
谢谢你的答案! – 2008-09-22 11:22:38