백트래킹 (Backtracking)
·
Algorithm/개념 정리
백트래킹이란?백트래킹(Backtracking)이란, 현재 상태에서 가능한 모든 후보를 탐색하여 정답을 찾도록 하는 알고리즘을 말한다.이때 일반적인 브루트포스(Brute Force) 알고리즘과 백트래킹의 차이점은, “정답을 찾는 도중 정답이 될 가능성이 없는 경우, 그 즉시 되돌아가 다른 경로를 탐색하여 답을 찾는다”는 것이다. 백트래킹이 작동되는 방식은 크게 다음과 같다:현재 상태에서 가능한 후보 중 하나를 고른다.해당 후보에서 재귀적으로 다음 단계를 탐색해 나간다.탐색하는 중, 정답이 될 수 없는 경우 탐색을 종료한다.주어진 조건을 모두 만족하는 경로인 경우, 해당 경로를 정답으로 처리한다.탐색이 끝나면, 상태를 원래대로 되돌린 후, 다른 후보를 골라 반복한다.문제를 풀기 위해서 위와 같은 상태 공간 ..