개념

 - 모든 경우의수를 확인해야 할때

  - for로는 확인 불가한 경우( 깊이가 달라질때 )

 

순열 : M개의 숫자 중 N개를 뽑을때 순서에 상관하여 뽑는 방식

 

3개에서 2개를 뽑는다면 for로 확인하면 된다.

 

백트래킹은? M, N이 주어졌을 경우!

재귀함수로 구현을 한다. 깊이를 마음대로 설정할 수 있게된다.

 

중요한 것은 특정 상태를 제외한다는 것이다.

 

백트래킹은 현재 상태에서 다음 상태로 나아갈 수 있는 모든 경우를 찾되, 그 중

유망하지 않다면 현재에서 더 이상 나아가지 않고 이전의 상태로 돌아가 다음 상태를 검사한다.

 

더이상 탐색할 필요가 없는 상태를 제외하는 것을 가지치기라고 한다.

 

 

 

'알고리즘 with 자바 > 알고리즘' 카테고리의 다른 글

Recursion의 개념과 기본 예제들 3  (0) 2021.09.08
Recursion의 개념과 기본 예제들 2  (0) 2021.09.08
Recursion의 개념과 기본 예제들 1  (0) 2021.09.08
DFS  (0) 2021.09.04
BFS  (0) 2021.08.30

+ Recent posts