[알고리즘] DFS(Depth-First Search, 깊이 우선 탐색) 문제 풀이 가이드
·
CS/알고리즘 & 자료구조
개념DFS(Depth-First Search,깊이 우선 탐색) 는 그래프나 트리와 같은 자료구조에서 탐색을 진행할 떄 사용하는 대표적인 알고리즘입니다.특정 노드를 시작점으로 잡고 최대한 깊은 경로까지 탐색하다가, 더 이상 탐색할 곳이 없으면 백트래킹을 통해 돌아오며 탐색하지 않은 경로를 다시 탐색합니다.즉, 깊게 먼저 들어가며 탐색하는 방식입니다.DFS의 핵심 원리하나의 노드를 선택해 방문한 후, 인접한 노드를 따라 갈 수 있는 곳까지 깊이 들어갑니다.더 이상 이동할 곳이 없으면 이전 노드로 돌아와서 다시 탐색을 시작합니다.방문한 곳을 기록해, 이미 방문한 노드는 재탐색하지 않습니다.즉, “한쪽 방향 끝까지 먼저 파고든다”라는 생각하면 직관적으로 이해할 수 있습니다.DFS 탐색 순서 예시 1 (..