상세 컨텐츠

본문 제목

[Python] 다이나믹 프로그래밍(3) - 메모이제이션 (Memoization)

Python/이코테

by Gopythor 2022. 6. 24. 02:27

본문

728x90
반응형

메모이제이션 (Memoization)

  • 메모이제이션은 다이나믹 프로그래밍을 구현하는 방법 중 하나입니다. (탑다운 방식=하향식)
  • 한 번 계산한 결과를 메모리 공간에 메모하는 기법입니다.
    • 같은 문제를 다시 호출하면 메모했던 결과를 그대로 가져옵니다.
    • 값을 기록해 놓는다는 점에서 캐싱(Caching)이라고도 합니다.

탑다운 vs 보텀업

  • 탑다운(메모이제이션) 방식 하향식이라고도 하며 보텀업 방식 상향식이라고도 합니다.
  • 다이나믹 프로그래밍의 전형적인 형태는 보텀업 방식입니다.
    • 결과 저장용 리스트는 DP 테이블이라고 부릅니다.
  • 엄밀히 말하면 메모이제이션은 이전에 계산된 결과를 일시적으로 기록해 놓는 넓은 개념을 의미합니다.
    • 따라서 메모이제이션은 다이나믹 프로그래밍에 국한된 개념은 아닙니다.
    • 한 번 계산된 결과를 담아 놓기만 하고 다이나믹 프로그래밍을 위해 활용하지 않을 수도 있습니다.

 

728x90
반응형

관련글 더보기

댓글 영역