
Algorithm - DFS

Course
可以參考我做的課程簡報:
BFS & DFSDepth-First Search DFS 深度優先搜尋

- 不斷找出尚未遍歷的點當作起點
- 把起點塞入 stack
- 重複以下步驟,直到 stack 裡沒有東西為止:
- 從 stack 中取出一點
- 找出與此點相鄰的點、且尚未遍歷的點,並將這些點依序塞入 stack
Example
DFS - stack
1 | int main(){ |
DFS - recursive
1 | bool visited[12+5]; |
可以參考我做的課程簡報:
BFS & DFS1 | int main(){ |
1 | bool visited[12+5]; |