Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 클라이언트
- Queue
- SWEA
- Stack
- 알고리즘
- 프로그래머스 풀이
- 스프링부트 도커 배포
- 백준
- 문자열
- 스택
- 삼각형의 완성조건
- 버퍼
- 큐
- 프로그래머스
- 프로그래머스 문자열 정렬
- 오름차순 정렬
- 스프링부트 도커로 배포
- lv2
- COS Pro
- Programmers
- lv0
- Lv1
- 자바
- index of
- java
- 프로그래머스 자바
- 백준 N과 M 자바
- 스프링부트 도커
- StringTokenizer
- 이진수 변환
Archives
- Today
- Total
목록백트래킹 알고리즘 (1)
mun dev
[알고리즘] 백트래킹이란?
백트래킹이란? 해를 찾는 도중에 막히면 더 이상 깊이 들어가지 않고, 이전 단계로 되돌아가서 해를 찾아나가는 기법을 말한다. 최적화 문제와 결정 문제를 푸는 방법이 된다고 한다. DFS와 백트래킹 DFS(Depth First Search) 깊이 우선 탐색은 가능한 모든 경로를 탐색한다. 불필요할 거 같은 경로를 사전에 차단하지 않기 때문에 경우의 수를 최적으로 줄이지 못한다 . 따라서 N!의 경우의 수를 가지는 문제는 DFS로 처리하지 못할 가능성이 크다. 백트래킹 백트래킹은 해를 찾아가는 도중에 지금의 경로가 해가 될 거 같지 않으면, 더 이상 깊이 들어가지 않고 이전 단계로 다시 돌아간다. 이를 가지 치기라고 하는데, 불필요한 부분을 쳐내고 최대한 올바른 방향으로 나아가는 방식이기 때문에 DFS보다 ..
알고리즘/알고리즘 기초
2023. 10. 17. 20:51