0
A
回答
2
是的,您可以使用深度優先搜索(DFS)或廣度優先搜索(BFS),檢查任何優秀的texbook,例如Thomas H. Cormen的「Introduction to Algorithms」。
您不需要使用邊來「追溯自己」,使用堆棧(或遞歸)或隊列。
1
void dfs(node V) {
mark V as visited;
for each edge E, so that E.source = V, do {
if(E.destination is not marked as visited) {
dfs(E.destination);
}
}
}
就是這樣。 DFS(遞歸)的作用是在當前實例完成時返回到其調用者實例。由於它使用堆棧來保存所有活動實例,因此不必自行返回,噹噹前節點上的函數完成執行後,它會自動回滾到前一個節點。
相關問題
- 1. 貪婪算法
- 2. 貪婪算法的使用例子?
- 3. 我的貪婪算法有缺陷嗎?
- 4. 貪婪算法的一般算法
- 5. 擊敗貪婪算法
- 6. 貪婪算法,調度
- 7. 找到與貪婪算法
- 8. 貪婪算法:機器人
- 9. 使用正則表達式查找所有匹配 - 貪婪和非貪婪!
- 10. 貪婪的算法實現,Haskell
- 11. 雙方匹配的貪婪算法
- 12. 貪婪算法,numpy的,矩陣,移出
- 13. 局部算法和貪婪算法有什麼區別?
- 14. 貪婪算法:成本最小化
- 15. 硬幣更改貪婪算法
- 16. Dijkstra算法中的未訪問節點?
- 17. 有什麼想法來優化貪婪算法嗎?
- 18. perl非貪婪問題
- 19. 使用貪婪算法尋找最小獨立支配集
- 20. 貪婪行爲
- 21. 在Textpad中使用POSIX非貪婪RegEx
- 22. 用貪婪的量詞
- 23. 在javascript中貪婪與尾隨貪婪正則表達式
- 24. Perl的貪婪正則表達式不是演戲貪婪
- 25. 一個部分貪婪的正則表達式,其他貪婪
- 26. 貪婪和非貪婪的正則表達式
- 27. 正則表達式的幫助,貪婪與非貪婪
- 28. 用交換參數證明貪婪算法
- 29. DFS貪婪色數
- 30. Javafx貪婪綁定
如果你只想訪問所有的節點,你爲什麼需要「追溯自己」? – Raufio 2013-03-06 07:36:24
因爲如果我沒有回溯下圖,這並不一定意味着我會訪問每個節點。 – 2013-03-06 07:37:22
如果它是非循環的並且是直接的,當你用完檢查的節點時,即你到達所有路徑的末端,節點在哪裏存在而不被訪問? – Raufio 2013-03-06 07:41:40