好吧,我在網上瀏覽過很多東西,它只是沒有真正點擊我。從起點開始的深度優先算法
我有一個ArrayList towns = new ArrayList<Town>
與我將執行DFS的城鎮。
我填補這個陣列用〜8個鎮
我有一個整數int i
(在ArrayList中的鎮指數其中具有是第一路徑)
我有一個初始距離double dist = 0
我有一個功能distBetween(Town a, Town b)
這就是它所說的。
我有一個Arraylist route = new ArrayList<Town>()
其中包含城鎮的順序,這取決於我正在採取的路徑。
現在我有執行深度優先搜索的主要功能(根據在線研究遞歸)。
public static void dfs(){
// what goes here
}
我需要的城鎮添加到路由陣列,並根據深度優先搜索算法中刪除。我還需要編輯dist
變量。
我會如何解決這個問題。有人可能會提供一些僞代碼或評論,只是解釋做什麼。我似乎無法應用我在網上找到的其他算法。如果我能得到一個特定於我的情況的解釋,那將是很棒的。
我可以從town
刪除索引i
如果它使得它更容易執行搜索。
訪問所有路徑時,你的代碼應該做什麼?你是否試圖找到總距離最小的路徑? – tucuxi
最小化總距離 –