簡體   English   中英

在計算無邊頂點時如何找到短路路徑?

[英]How to find shortes path while counting vertices no edges?

我有一個來自Graph的任務,我需要找到最短的路徑。

這不是正常的算法,因為您不必計算路徑,而需要計算頂點。

規則就像遍歷特定頂點的成本是:

| P = costOfPathFromThePreviousVertex - costOfPathToTheNextVertex |

因此,例如,當您擁有圖:A-> B-> C->

成本是

  A->B = 10 ;
  B->C = 15 ;

通過頂點B的成本為:P = | 10-15 |

假設根頂點和目標頂點的成本為0。

因此在上述情況下,從A通過B到C的成本為5。

說起來容易,但是我不知道當我有x個頂點時需要實現哪種算法才能得到結果。 我也在考慮Dijkstra的算法和DFS,但在那種情況下它們是不正確的。

任何幫助將不勝感激。

我將添加一個連接到實際起點和終點的虛擬起點和終點頂點。

然后將您的圖變成一個線圖 ,該線圖的每個邊都有一個頂點,例如v1 =“ A-> B”和v2 =“ B-> C”。

根據您的公式將權重分配給新圖形中的邊緣。

例如,將v1連接到v2的邊的權重| 10-15 |。

然后在該線圖上使用Dijkstra算法,找到虛擬起始邊緣和虛擬終止邊緣之間的最短路徑。

暫無
暫無

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

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