下圖是一人出差從A城出發(fā)到B城去,沿途可能經(jīng)過的城市的示意圖,通過兩城市所需時間標(biāo)在兩城市之間的連線上(單位:h),試求此人從A城出發(fā)到B城所需時間最少要多少小時?

思路分析:如果從A開始逐一計算所有可能的路線所需的時間,工作量顯然較大,且易出現(xiàn)遺漏.注意到最優(yōu)路線圖中的某一城市必存在這樣的事實(shí):不管前面的路線如何,從本城市出發(fā)到終點(diǎn)的路線耗時仍然是最短的,否則就會存在耗時更短的路線,產(chǎn)生與最優(yōu)路線的假設(shè)相矛盾.這就啟示我們可以從終點(diǎn)B出發(fā),倒溯著局部選擇耗時最短的最優(yōu)路線.

解:設(shè)各城市至B城市所需時間的最短時間為S(x),x為城市記號,則S(E1)=12,S(E2)=18,S(D1)=17+S(E1)=29,S(D2)=min{10+S(E1),5+S(E2)}=22,S(D3)=9+S(E2)=27,S(C1)=min{6+S(D1),13+S(D2)}=35,S(C2)=min{11+S(D2),7+S(D3)}=33,S(A)=min{14+S(C1),15+S(C2)}=48.故從A城到B城所需時間最少為48 h,其最短的路線是A—C2—D2—E1—B.

練習(xí)冊系列答案
相關(guān)習(xí)題

同步練習(xí)冊答案