메모이제이션 메모이제이션은 메모리에 넣기라는 의미로 기억되어야 할 것이라는 뜻의 라틴어 memorandu에서 파생되었다. 프로그램이 같은 계산을 반복해야할 때, 이전에 계산한 값을 메모리에 저장함으로써 같은 계산의 반복 수행을 제거하여 프로그램 실행 속도를 빠르게 하는 방법이다. 동적 계획법의 핵심이 되는 기술로 메모리라는 공간 비용을 사용하여 계산에 필요한 시간 비용을 줄이는 방법이다. 캐싱이라고 표현하기도 한다. 예시 - 피보나치 수열 아래와 같이 재귀함수를 이용한 피보나치 수열 함수가 있다고 하자. def fib(n): if n == 1: return 0 if n == 2: return 1 return fib(n - 1) + fib(n - 2) fib 함수의 재귀호출을 트리 형태로 나타내면 아래와 ..