DFS(깊이 우선 탐색)과 유사하지만, 가지치기 과정
이 추가된다는 차이점이 존재한다.
DFS는 모든 경우(가지)를 하나씩 그리고 끝까지 탐색하는 방법으로, 답이 존재하지 않는 경우까지도 끝까지 탐색하여 비효율적인 상황을 초래할 수 있다는 단점이 존재한다.
따라서 답이 존재하지 않는 가지의 탐색을 중단하고, 다른 가지를 탐색하도록 가지치기
를 하는 것이 바로 백트래킹
이다.
백트래킹에서 가장 주의해야 할 부분은 방문표시이다.
가지치기를 해야하는 시점에 알맞게 방문 표시를 남겨야 하며, 또 적절한 시점에 방문 표시를 해제할 수 있어야 한다.