[완전탐색] 백트래킹(Backtracking)과 가지치기(Pruning)
·
CS & Algorithm
완전 탐색은 과정을 이해하기 쉽도록 의사결정 트리(possibility tree)를 사용한다.따라서, 완전탐색과 의사결정 트리가 무엇인지 먼저 살펴본다!완전탐색완전탐색(Exhaustive Search)은 정답이 될 가능성이 있는 모든 후보를 탐색해서 정답을 찾는 알고리즘이다.의사결정 트리의사결정 트리는 문제를 해결하는 모든 경우의 수를 트리 형태로 나타낸 것이다.이를 깊이 우선 탐색(DFS) 방식으로 탐색하면 가능한 모든 경우를 빠짐없이 확인할 수 있다. => 즉, 완전탐색은 의사결정 트리를 DFS 기반으로 순회하는 과정과 동일!!- 의사결정 트리의 특징가능한 모든 경우를 표현한다.모든 선택지를 고려해야 하니까, 트리 구조로 나타내서 더 직관적으로 이해할 수 있다.DFS 방식으로 탐색한다.한 가지 경우를..