백트래킹은 모든 가능한 경우의 수 중에서 유망성을 판단하고 가지치기를 통해 특정한 조건을 만족하는 경우만 살펴보는 것을 의미
가지치기
불필요한 부분을 쳐내는 것
유망성 판단
해가 될 가능성이 있으면 유망성이 있다고 봄(promising), 유망하지 않은 노드는 가지치기(pruning)하여 경우를 줄여줌
DFS 등 모든 경우의 수를 탐색하는 과정에서 유망하지 않은 경우에 대한 조건문 걸고 유망하지 않은 경우 그 시점에서 탐색을 중지하고 그 이전으로 돌아가서 다시 다른 경우를 탐색하게끔 구현함