Skip to content

[백트래킹]

주동윤 edited this page Apr 19, 2022 · 1 revision

가능한 모든 방법을 탐색한다!

N과 M

  • 1부터 N까지의 수 중에서 중복 없이 M개를 고르는 수열을 출력하는 문제

참고 코드
void func(int k) {
    for(int i=1; i<=n; i++){
        if(!visited[i]) {
            arr[k] = i;
            visited[i] = 1;
            func(k+1);
            visited[i] = 0;
        }
    }
}

vs 완전 탐색 (or DFS)

  • 완전 탐색의 경우에는 해당하는 모든 경로 탐색
  • 반면에 백트래킹은 위의 예제와 같이 분기를 나누어서 필요한 경우만 탐색

예제 문제


✨ 최근 공지사항
다락방 알고리즘 스터디가 시작되었습니다!

Clone this wiki locally