210613_Memoization(메모이제이션)

Bitnara Lee·2021년 6월 13일
0

memoization(메모이제이션) :

비용이 많이 드는(시간과 메모리) 함수 호출의 결과를 저장하고 동일한 입력이 다시 발생할 때 캐시된 결과를 반환하여 애플리케이션 속도를 높이는 최적화 기술

캐시(cache):
해당 데이터에 대한 향후 요청이 더 빠르게 처리될 수 있도록 데이터를 보관하는 임시 데이터 저장소

이미 해결한 문제의 정답을 따로 기록해두고, 다시 해결하지 않는 기법(나온 것 재사용)
이미 답이 나와있는, 혹은 명확한 값은 메모
똑같은 함수가 불린다면 value 값을 리턴해 버리면 함수를 실행시킬 필요가 없다

클로저를 사용 계속 유지되는 저장 공간 만듬

  • 비싼 함수 호출, 즉 무거운 계산을 수행하는 함수
  • 캐시된 값이 (그저 거기에 앉아) 아무것도 하지 않는 것처럼 제한적이고 매우 반복적 인 입력 범위를 가진 함수의 경우.
  • 반복 입력 값이 있는 재귀 함수의 경우.
  • 순수한 함수, 즉 특정 입력으로 호출 될 때마다 동일한 출력을 반환하는 함수의 경우.
profile
Creative Developer

0개의 댓글