DFS는 가능한 멀리까지 탐색하면서, 그래프나 트리의 깊이를 최대한 탐색하는 알고리즘입니다. 이는 스택(stack) 자료구조를 사용하여 구현됩니다. (재귀 함수- 한 놈만 죽어라 팬다) - (+) 어디서 틀렸는지 빠르게 파악 가능 - (- ) 시간이 오래걸릴 수 있(운이 좋으면 첫번째 조합이 최적의 답) BFS는 한 단계씩 더 깊이 들어가기 전에 현재 레벨에서 모든 노드를 탐색하는 알고리즘입니다. 이는 큐(queue) 자료구조를 사용하여 구현됩니다.(큐/linked list - 여러 놈을 한 대씩 때리면서 나감) - (+) 시간복잡도가 작다 (대박날 확률 적지만 쪽박찰 확률도 적다) - 대표 문제 유형 1. 경로탐색 유형(최단거리, 시간) 2. 네트워크 유형(연결) 3. 조합 유형(모든 조합 만들기)