我正在解決BFS上的問題。我能夠通過鄰接表實現BFS算法,但我被困在這個問題中: 我必須告訴是否有可能從起點行進迷宮到迷宮終點的距離。單元格包含0或1。由於它不能通過包含值1的單元格傳播,並且兩個單元格之間的移動只有在它們共享一個公共邊緣時纔有可能。 那麼如何直接在這裏實現BFS而不需要進入鄰接表呢?實現沒有鄰接表的bfs
2
A
回答
2
您不必將圖形顯式表示爲做BFS的鄰接表。從每個單元格(x,y)
你知道哪些是它的4個潛在的鄰居 - (x-1, y)
,(x, y-1)
,(x+1, y)
和(x, y+1)
。我說potential
,因爲它們中的任何一個都可能脫離桌子,因此不能成爲鄰居。現在只需用一對整數 - 它的座標和隊列中的推對來標識每個頂點。當從隊列中彈出時,使用上面所述的方法訪問四個可能的鄰居。
希望這足以幫助你 - 我可以提供完整的代碼,但最好是自己寫。
相關問題
- 1. BFS和DFS的鄰接表
- 2. Java實現的鄰接表
- 3. 使用相鄰列表實現的bfs調試
- 4. HashMap來實現鄰接表
- 5. BFS的實現
- 6. 圖的鄰接列表的實現
- 7. 用於實現鄰接列表的Hashmap
- 8. C++中的鄰接列表實現
- 9. Java帶有有向邊的圖的鄰接表實現
- 10. 定向鄰接錶快速實現
- 11. 鄰接矩陣實現
- 12. 鄰接矩陣圖實現
- 13. 使用STL中的鄰接列表的BFS
- 14. 如何爲鄰接表構造適合BFS的數據結構?
- 15. 鄰接矩陣列表O(m + n)上的BFS如何?
- 16. 在Java中實現BFS
- 17. 優化Haskell BFS實現
- 18. 社交網絡圖是如何實現的?鄰接列表或鄰接矩陣
- 19. 圖的鄰接矩陣實現
- 20. WCF接口沒有實現
- 21. Java:沒有接口實現?
- 22. BFS和UCS算法。我的BFS實現工作,但我的UCS沒有。不知道爲什麼
- 23. C圖鄰接列表實現越來越多的相鄰陣列
- 24. 從圖中創建鄰接表的兩種實現方式
- 25. 僅使用鄰接矩陣的BFS最短路徑?
- 26. 我的類實現與方法的接口。沒有實現,但沒有錯誤
- 27. 鄰接矩陣vs有向加權圖的鄰接列表
- 28. 有沒有實現HttpServletRequest的ServletRequest實現?
- 29. 沒有完全實現的接口
- 30. 沒有public accessor的ActionScript3接口實現?
如何查看相鄰單元格的地圖(2d數組)而不是鄰接列表? – Shahbaz
@Shahbaz你不需要明確存儲鄰接表來解決問題。 –
@IvayloStrandjev,是不是我說的? – Shahbaz