解決迷宮我想知道當我們對DFS,BFS和A *搜索算法使用開放式迷宮或閉合式迷宮時結果的變化嗎?在擴展節點數量,成本等方面增加的產出是否有很大差異?通過使用DFS,BFS,A *
回答
一個幼稚的DFS可以在某些開放的迷宮中進入無限循環,而在封閉的迷宮中它總是會結束。我不認爲BFS或A *可以陷入這個陷阱。 (通過「天真的DFS」我的意思是不會將節點標記爲「已訪問」,因爲它穿越它們。) 編輯:Daniel的評論迫使我重新考慮這個答案,而不是在我去之前的那一天睡覺。我會承認A *將節點標記爲其基本功能的一部分。不過,我仍然認爲BFS甚至可以解決打開迷宮而無需標記節點。它不會有效,但如果有解決方案的迷宮,BFS會找到它。根據定義,它將在進入下一個深度之前嘗試所有可能的路徑。因此,如果長度爲10的解決方案存在,BFS將在嘗試任何深度爲11的解決方案之前找到該解決方案。
BFS和A *還必須將節點標記爲已訪問才能正常工作。 – 2010-07-23 06:04:54
是的。不同的策略以完全不同的順序遍歷迷宮有很大的區別
我認爲這個問題是開放式迷宮vs封閉式迷宮,而不是A *與DFS/BFS相比。 – 2010-07-23 16:46:28
與樸素dfs和bfs相比,A *可以非常有效。但是,您需要找到一個很好的功能來評估從當前位置到目標的成本。
我認爲問題是開放式迷宮vs封閉式迷宮,而不是A *與DFS/BFS相比。 – 2010-07-23 16:45:23
- 1. Python DFS和BFS
- 2. 使用BFS/DFS解決編程任務
- 3. 內存使用在迭代式深化DFS(ID-DFS)和BFS
- 4. BFS和DFS的鄰接表
- 5. 在Java中的BFS和DFS和使圖
- 6. 如何表示用於DFS/BFS
- 7. BFS和DFS的用途是什麼?
- 8. 卡住DFS/BFS任務(USACO銀)
- 9. 解釋BFS和DFS在回溯
- 10. 查找所有BFS/DFS遍歷
- 11. BFS&DFS - 以哪個頂點開始?
- 12. Python網絡x DFS或BFS缺失?
- 13. JavaScript-only DOM樹遍歷 - DFS和BFS?
- 14. 多線程與BFS,DFS搜索
- 15. 圖表數據結構:DFS vs BFS?
- 16. BFS和DFS之間的區別
- 17. 如何記住DFS和BFS使用的數據結構?
- 18. 使用BFS
- 19. 使用BFS
- 20. 使用BFS和DFS查找圖表中兩個節點之間的路徑
- 21. 通過BFS解決8個難題
- 22. 我可以在BFS和DFS中做出假設嗎?
- 23. 算法最短路徑與表述爲遵循contraint,BFS或DFS
- 24. 我們可以做圖bfs和dfs而不着色嗎?
- 25. 爲什麼DFS和BFS的複雜性不是O(V)?
- 26. 社交網絡的BFS或DFS遵循模型
- 27. 如何在網格設置中修復DFS/BFS?
- 28. 爲什麼BFS比DFS更適合並行化?
- 29. 算法:從DFS和BFS輸出樹作爲子圖的差異
- 30. 圖中的Dijkstra算法更類似於DFS或BFS?
這與python有什麼關係? – 2010-07-23 06:05:30