Algorithm Guidecomplexity: O(V+E)
깊이 우선 탐색 (DFS)
Stack(LIFO)을 사용해 한 경로를 최대한 깊게 파고든 뒤 막히면 되돌아오는(backtrack) 그래프 탐색 알고리즘입니다. 메모리 사용량이 적고(O(h)) 사이클 탐지·위상 정렬·백트래킹 기반 문제 해결의 핵심이 됩니다.
01 알고리즘 작동 원리 탐색
Interactive Step-by-StepHOVER OR SCROLL
Depth-First Search
DFS 시작. 스택(LIFO)으로 한 경로를 최대한 깊게 파고든 뒤, 막히면 되돌아와 다음 경로를 탐색합니다. 목표는 H.
Logic Node1 / 7
Live Python
02 쉽게 이해하기
For Everyone🔑비유
미로에서 한 길을 끝까지 파고들고 막히면 되돌아오는 것.
💡쉽게 말하면
스택으로 한 경로를 최대한 깊게 탐색하고, 막히면 되돌아갑니다(backtrack).
메모리가 적게 들어요.
📍어디에 쓰나
- –사이클 탐지
- –위상 정렬
- –백트래킹 문제
03 파이썬 구현 코드
깊이 우선 탐색 (DFS)의 핵심 로직을 담은 표준 구현 예시입니다. 가급적 간결하고 읽기 쉬운 코드로 작성되었습니다.
core_implementation.py
04 자주 묻는 질문
FAQ깊이 우선 탐색 (DFS)란 무엇인가요?+
Stack(LIFO)을 사용해 한 경로를 최대한 깊게 파고든 뒤 막히면 되돌아오는(backtrack) 그래프 탐색 알고리즘입니다. 메모리 사용량이 적고(O(h)) 사이클 탐지·위상 정렬·백트래킹 기반 문제 해결의 핵심이 됩니다.
깊이 우선 탐색 (DFS)의 시간복잡도는 어떻게 되나요?+
깊이 우선 탐색 (DFS)의 시간복잡도는 O(V+E) 입니다. 시각화의 단계별 진행을 따라가며 왜 이런 복잡도가 나오는지 직접 확인할 수 있습니다.
깊이 우선 탐색 (DFS)은(는) 어디에 사용하나요?+
사이클 탐지, 위상 정렬, 백트래킹 문제.
깊이 우선 탐색 (DFS)를 쉽게 비유하면?+
미로에서 한 길을 끝까지 파고들고 막히면 되돌아오는 것.
→ 탐색 전체 보기Related
