How it works?
Coddy의 깊이 우선 탐색 - 그래프 알고리즘 코스 레슨 — 9개 중 3번째.
DFS는 각 정점에 대한 방문(visited) 표시와 처리할 정점들을 담은 스택(stack)을 유지합니다.
단계별 프로세스:
- 시작 정점을 스택에 넣습니다(Push).
- 정점을 꺼냅니다(Pop). 이미 방문했다면 건너뜁니다. 그렇지 않으면 방문 표시를 하고 방문 순서에 기록합니다.
- 방문하지 않은 이웃 정점들을 스택에 넣습니다. 오름차순으로 방문하려면, 가장 큰 것부터 가장 작은 것 순으로 넣어서 가장 작은 것이 먼저 꺼내지도록 합니다.
- 스택이 빌 때까지 반복합니다.
0에서 시작하여 간선 [0,1, 0,2, 1,3, 2,3]을 가진 정점 0..3에 대한 예시:
- 0을 방문하고, 가장 작은 이웃인 1을 방문한 다음, 1의 이웃인 3을 방문하고, 마지막으로 3의 이웃인 2를 방문합니다.
- 방문 순서: [0, 1, 3, 2].
시작 지점에서 도달 가능한 정점들만 방문됩니다.
직접 해보기
이 레슨에는 코드 챌린지가 없습니다.
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
깊이 우선 탐색 - 그래프 알고리즘의 모든 레슨
2The Algorithm
How it works?Pseudo CodeImplementation (Part 1)Implementation (Part 2)