깊이 우선 탐색은 그래프 완전 탐색 기법 중 하나입니다. 깊이 우선 탐색은 실제 구현 시 재귀 함수를 이용합니다. DFS를 응용하여 풀 수 있는 문제는 단절점 찾기, 단절선 찾기, 사이클 찾기, 위상 정렬 등이 있습니다. 깊이 우선 탐색의 핵심 이론 DFS는 한번 방문한 노드를 다시 방문하면 안 되므로 노드 방문 여부를 체크할 리스트가 필요하며, 그래프는 인접 리스트로 표현합니다. DFS의 탐색 방식은 LIFO(후입선출)의 특징을 가지므로 스택의 자료구조를 활용합니다. 1. 사용할 자료구조 초기화(graph, visited) DFS를 위해 필요한 초기 작업은 1) 인접 리스트로 그래프 표현 2) 방문 리스트 초기화 입니다. 2. 스택에서 노드를 꺼낸 후 꺼낸 노드의 인접 노드를 다시 스택에 삽입(dfs ..