2013年4月25日 星期四

單向的最短距離路線(筆記)


昨天去聽一門北一女中的選修課,是成大數學系許瑞麟教授授課,他給的題目是由下圖的結點到結點,所經過的最短距離路徑(或花最短時間的路線),每條路線上的數字當作長度(或所花的時間)
許教授有講解一個解題的algorithm,我邊聽邊想,找到一個解決這個問題的方法:
對於每一個結點 j,我記錄所有從結點1到達結點 的路線長度,取其最小值。取最小值的動作是在每一個結點都要做。
所以我這樣做:先把結點i會到達結點 的路徑長度記為aij,寫成一個上半矩陣。
第一步:先寫出相連兩結點的路徑長,如下:


1
2









6
12







3

4







4
3
15
7







7









7
15








3








10









第二步:記錄所有的a1j,取最小值,記法如下:





 所以,最短路徑可記為:
①→③→④→⑤→⑦→⑨為最短的路線,距離和為19單位。

不過,如果路線改成雙向的,似乎無法用這個方法來處理,或是需要再修正,我還要再想一想。

沒有留言:

張貼留言