簡體   English   中英

最短路徑加權矩陣

[英]Shortest path weighted matrix

查找從給定nxn矩陣最左側的任何元素到矩陣最右側的任何元素的最短路徑。

移動:一次只能移動一個方塊。 您可以向左,向右,向左,向右,向左向下和向右移動。

權重:從X元素到矩陣上的Y的成本為| Y-X |

運行時:設計算法必須最大為O(n 2

例:

例

到目前為止已嘗試:

到目前為止嘗試過

此解決方案有問題。

運行時間為O(n 2 Log n 2 ),比O(n 2 )慢。

您可以利用它,當您考慮圖形中有向邊時,圖形是非循環的,並且具有(部分)拓撲順序。 在這種情況下,您可以只計算從左到右的每個節點從左到左的距離,即bei column列。

在第一列中,所有節點的距離均為0,即d(左上)= 0,d(左中)= 0,d(左下)= 0。

在第二列(及隨后的所有列)中,您最多可以從三個候選值中選取最小值,例如d(中上)= MIN [d(左上)+ 4,d(左中)+2 ] = 2。

也就是說,從左到右計算值僅需要每個節點恆定的時間,整體為Theta(n ^ 2)。 更一般而言,對於N個節點和M個邊緣,這需要O(NM)進行單源最短路徑計算。

[編輯:我刪除了對動態編程的引用,因為它比ist的幫助更令人困惑。 添加了一個示例。]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM