當圖的節點具有權重時,計算定向無環圖的關鍵路徑的最佳方法(關於性能)是什麼?如何計算定向非循環圖的關鍵路徑?
例如,如果我有以下結構:
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