-
Notifications
You must be signed in to change notification settings - Fork 0
[백트래킹]
주동윤 edited this page Apr 19, 2022
·
1 revision
- 하지만 완전 탐색 (DFS, BFS)과는 달리 가능성이 있는 경로들만 검사.
- 가능성을 가지치기 (Prunning)를 통해 경로를 결정.
- 이 가지치기를 얼마나 잘하냐가 핵심.
- 참고 블로그 1, 참고 블로그 2, 참고 블로그3
- 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;
}
}
}
- 완전 탐색의 경우에는 해당하는 모든 경로 탐색
- 반면에 백트래킹은 위의 예제와 같이 분기를 나누어서 필요한 경우만 탐색
- 📢 공지사항
- 📝 개념 리뷰
- 🙄 스터디 하면서 알게된 점!
- 💾 참고 파일
- ✋ 기타 게시판 추가하고 싶은 것 이야기해주세요!
✨ 최근 공지사항
다락방 알고리즘 스터디가 시작되었습니다!