깊이 우선 탐색 (DFS)
- 연결 graph, 무방향 graph
- stack 사용
단계
① 출발 정점 v 방문
② v에 인접하고 방문하지 않은 한 정점 w 선택
③ w를 시작점으로 다시 깊이 우선 탐색
④ 모든 인접 정점을 방문한 정점 u에 도달시, u를 방문하기 위해 사용된 간선 (w, u) 상의 정점 w로 되돌아감
⑤ 정점 w로부터 다시 깊이 우선 탐색
⑥ 방문 안된 정점으로 더 이상 갈 수 없을 때 종료
ex) 0 – 1 – 3 – 7 – 4 – 5 – 2 – 6 순으로 방문
분석
① 인접 리스트 사용
리스트 node 수 2e개 만큼 조사 → O(e) 소요
② 인접 행렬 사용
한 정점에 인접한 정점들 조사하는데에 O(n) 소요
∴ 전체 원소 조사 → O($n^2$) 소요
'알고리즘' 카테고리의 다른 글
그래프 (Graph) - 최단 경로 (Dijkstra, Ford 알고리즘) (0) | 2020.07.28 |
---|---|
Prim 알고리즘 (0) | 2020.07.28 |
Kruskal 알고리즘 (0) | 2020.07.28 |
너비 우선 탐색 (Breadth First Search, BFS) (0) | 2020.07.26 |
정렬 (0) | 2020.07.13 |