알고리즘
다이나믹 프로그래밍 Dynamic Programming
grep.jj
2021. 6. 15. 15:28
다이나믹 프로그래밍 Dynamic Programming
한 번 계산한 문제는 다시 계산하지 않도록 하는 알고리즘
동적 계획법 이라고 표현하기도 함.
- 탑다운(Top-Down) 방식
- 재귀함수 이용
- 큰 문제를 해결하기 위해 작은 문제를 호출
- 하향식
- 보텁업(Bottom-Up) 방식
- 반복문 이용
- 작은 문제부터 차근차근 답을 도출
- 상향식
DP 테이블
- 보텁업 방식에서 사용되는 결과 저쟝용 리스트
- 메모이제이션은 탑다운 방식에 국한되어 사용되는 표현
* 메모이제이션은 이전에 계산된 결과를 일시적으로 기록해 놓은 넓은 개념
다이나믹 프로그래밍으로 해결할 수 있는 대표적인 예시 : 피보나치 수열
1 1 2 3 4 5 13 21 34 55 89