알고리즘의 기본이라고 할 수 있는 재귀호출과 동적 계획법에 대해서 알아보자!
재귀호출
- 문제를 해결 하기 위해, 기존 문제를 작은 문제로 나눠서 문제를 푸는 것
- Big -> Small
동적 계획법
- 문제를 해결 하기 위해서, 작은 문제의 해결법을 이용해 기존 문제를 해결하는 것
- Small -> Big
그렇다면, 여기서 모든 재귀호출을 동적 계획법으로 표현할 수 있을까?
정답은 아니다. 동적 계획법이라면, 특정 단계의 문제를 해결하기 위해서, 특정 이전 단계의 문제들을 모두 해결해야 한다는 것이다.
하지만, 특정 이전 단계들의 문제들을 차례로 해결하지 않으면, 특정 단계의 문제를 해결할 수 없게 된다.
따라서, 모든 재귀호출이 동적계획법으로 표현될 수 있는 것이 아니다.
동적 계획법으로 특정 단계의 해결법을 구하려면, 특정 단계 이전 문제들이 모두 해결되어야 한다.
'알고리즘' 카테고리의 다른 글
[BOJ 1328] 고층 빌딩 (0) | 2020.05.17 |
---|---|
코딩테스트 실전 감각 키우기, 온라인 컴파일러 추천, BOJ (0) | 2020.04.11 |
두 수의 부호가 같은지 다른지 확인하는 방법[XOR], C++, 코딩스킬 (0) | 2020.04.07 |
Manacher's Algorithm, 펠린드롬 (2) | 2020.02.23 |
2096번 : 내려가기 (0) | 2020.02.02 |