[Python] 다이나믹 프로그래밍(3) - 메모이제이션 (Memoization)
메모이제이션 (Memoization) 메모이제이션은 다이나믹 프로그래밍을 구현하는 방법 중 하나입니다. (탑다운 방식=하향식) 한 번 계산한 결과를 메모리 공간에 메모하는 기법입니다. 같은 문제를 다시 호출하면 메모했던 결과를 그대로 가져옵니다. 값을 기록해 놓는다는 점에서 캐싱(Caching)이라고도 합니다. 탑다운 vs 보텀업 탑다운(메모이제이션) 방식은 하향식이라고도 하며 보텀업 방식은 상향식이라고도 합니다. 다이나믹 프로그래밍의 전형적인 형태는 보텀업 방식입니다. 결과 저장용 리스트는 DP 테이블이라고 부릅니다. 엄밀히 말하면 메모이제이션은 이전에 계산된 결과를 일시적으로 기록해 놓는 넓은 개념을 의미합니다. 따라서 메모이제이션은 다이나믹 프로그래밍에 국한된 개념은 아닙니다. 한 번 계산된 결과를..
Python/이코테
2022. 6. 24. 02:27