알고리즘
Memoization메모이제이션
메모이제이션(Memoization)은 함수 호출 결과를 캐시에 저장해 동일한 인수로 다시 호출될 때 재계산 없이 바로 반환하는 최적화 기법이다. 동적 프로그래밍의 Top-Down 접근 방식이다.
피보나치 비교
메모이제이션 vs 타뷸레이션
| 항목 | 메모이제이션 | 타뷸레이션 |
|---|---|---|
| 방향 | Top-Down | Bottom-Up |
| 구현 | 재귀 + 캐시 | 반복 + 테이블 |
| 불필요 계산 | 없음 | 모든 부분 문제 계산 |
| 스택 오버플로 | 위험 | 없음 |
관련 개념
- •동적 프로그래밍 — 메모이제이션의 상위 개념
- •해시맵 — 메모이제이션 캐시 구현
- •재귀 — 메모이제이션의 기반
참고문헌
- •Cormen et al. Introduction to Algorithms — Chapter 15