되추적 알고리즘의 기본 원리는 미로의 갈림길에서 경로를 표시하면 시간을 절약할 수 있는 이러한 표시를 이용함
0-1 배낭 채우기 문제를 다루는 한 가지 방법은 실제 해답후보의 부분집합들을 모두 생성하면 되지만, 이는 마치 미로에서 모든 경로를 막힌 곳이 나올 때까지 무작정 따라가 보는 것과 마찬가지임
→ 이 부분집합의 개수는 $2^n$이 되므로 n이 작은 경우에만 통함
→ 그러나 부분집합을 생성하면서 생성할 필요가 없는 것들을 알 수 있다면 불필요한 노력을 절감할 수 있을 것
→ 이게 되추적 알고리즘임.
따라서 0-1 배낭 채우기 문제와 같은 부류의 문제를 푸는 되추적 알고리즘은 그래도 최악의 경우 지수시간임
→ 하지만 모든 경우 효율적이지는 않지만 많은 경우 효율적일 수 있기 때문에 유용하게 쓰임.
되추적은 임의의 집합에서 주어진 기준대로 원소의 순서를 선택하는 문제를 푸는데 사용함
되추적의 전형적인 사례는 서양장기의 n-여왕말 문제임
→ 여기서 순서 = 여왕 말을 둘 n개의 각각 다른 위치
→ 집합 = 서양 장기판에서 말을 둘 수 있는 $n^2$개의 위치들
→ 기준 = 어떤 여왕말도 서로 잡아먹히지 말아야 한다는 것