題目描述:n個頂點,從1頂點開始出發走遍所有結點回到1頂點最小路程。
最普通的貨郎擔問題實現**:
上圖輸入:
41 3 1
1 4 7
2 1 8
2 3 5
2 4 1
3 1 7
3 2 2
3 4 6
4 1 2
4 2 5
4 3 3
0 0 0
二:稍微題目修改下,從頂點1開始不用全部走遍各個結點回到1頂點最小路程。
**:
那麼我們來儲存走的路徑:
這個是從1頂點開始走遍所有頂點回到1頂點。
這個是從1頂點開始不用全部遍歷的
我們來看看上面的貨郎擔至少每個村莊走過一次而路徑最短的演算法的bug。
我們可以對倒數第二個程式輸入這個圖:
資料就是:
51 2 5
2 1 1
2 3 3
3 4 1
4 5 2
5 2 2
0 0 0
測試後輸出:no way!
當然這個程式沒寫判斷是否可以走,測試是no way!反正。
就是說明那個程式回溯頂點不重複走的邊也是.
而我們這裡貨郎擔的描速點可以重複邊也可以。
看描述:
貨郎擔問題是與h
圖有關的著名問題. 它的提法是:
乙個貨郎挑著擔子從家裡出發到各村去賣貨,然後回到
家裡,各村有遠有近,應怎樣選擇他的路線,使他到每
個村至少一次而總路程最短,這個問題稱為貨郎擔問
題.
那麼採用什麼方法寫或者怎麼改進下呢??hlh思考中...
動態規劃貨郎擔問題
參考和 演算法設計與分析 這本書 問題描述 1 貨郎擔問題提法 有n個城市,用1,2,n表示,城i,j之間的距離為dij,有乙個貨郎從城1出發到其他城市一次且僅一次,最後回到城市1,怎樣選擇行走路線使總路程最短?2 旅行商問題的提法 假設有乙個旅行商人要拜訪n個城市,他必須選擇所要走的路徑,路經的限...
迷宮最短路徑 貨郎擔問題的解決思路
要解決的問題 給定乙個迷宮,此迷宮中有且僅有乙個入口和出口,其中設有若干檢查點,要求從入口開始,經過所有檢查點後到達出口所需的最短路徑。其中路徑中允許多次經過入口或出口或某檢查點,但路徑的開始和結尾必須分別是入口和出口。更形象一點就是要把圖中所有的寶藏找出來帶出去的問題。連設計演算法 寫演算法實現的...
Python實現最普通的棧和佇列的方法
棧的實現 coding utf 8 a 入棧 for i in range 3 檢查元素順序 for i in range 3 print a i result 0 1 2 出棧,直到棧為空 while a print a.pop result 2 1 0 佇列的實現 coding utf 8 a ...