⭐️ | DFS 백트래킹 | BFS 백트래킹 |
---|---|---|
목적 | 모든 경우의 수 탐색 후 최적해 도출 | 조건 만족하는 최소/최단 해를 빠르게 찾기 |
예시 | 조합, 순열, 가능한 경로 모두 탐색 | 최단거리, 최소 비용 경로 |
특징 | 깊이 우선 탐색으로 트리/그래프를 끝까지 파고들며 조건 확인 | 너비 우선 탐색으로 조건 만족하는 최소 경로를 가장 먼저 찾음 |
✅ BFS + 우선순위 큐
"비용"이 가중치로 존재하는 문제에서 많이 사용됩니다.
예: 다익스트라(Dijkstra), 최소 비용 경로 탐색
→ 우선순위 큐 (PriorityQueue)로 최소 비용 우선 탐색
❌ BFS는 Queue를 사용합니다. -> 가중치가 없다는 전제하에만 참(TRUE)
예: 단순한 최단 거리(가중치 없는 경우), 단순 최소비용