讓我們考慮這個圖表:

假設我想要第一條路徑,源為 A,目的地為 H,我想要第二條路徑,源為 A,目的地為 D。
我無法應用 suurballe 演算法,因為它僅適用于具有相同源和相同目的地的路徑。預期的 O/p 是第一條路徑 => AEFGH,第二條路徑 => ABCD。這兩個是頂點不相交的路徑。在這種情況下如何計算 2 個頂點不相交的路徑?
uj5u.com熱心網友回復:
一種對許多問題都非常有效的方法是考慮如何將其轉換為您可以解決的問題。
在這種情況下:如果兩者的目標頂點相同,您已經知道可以解決頂點不相交路徑問題的Suurballe演算法。因此,要解決您的問題,您只需在圖形中添加一個頂點X并將D和H連接到它。然后使用起始A和目標X執行 Suurballe 演算法,并從回傳路徑的末尾洗掉X。由于到達X的唯一方法是通過D和H,因此它們必須是X之前路徑中的最后一個。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/486307.html
