일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 리얼 클래스
- 월간
- Writing
- 30분
- 괜찮음
- 파비최
- 스탭퍼
- Daily Challenge
- 만화도
- 화상영어
- 쓰릴오브파이트
- 개발자
- 뭐든
- English
- 영어원서읽기
- 매일
- realclass
- 읽기
- Problem Solving
- 잡생각
- 3줄정리
- 운동
- 10분
- 영어공부
- 링피트
- 프로젝트
- 미드시청
- 사이드
- FIT XR
- leetcode
Archives
- Today
- Total
파비의 매일매일 공부기록
DP 정복 - 2.3 메모 전략 본문
이번 절은 드디어 '메모 전략'에 대한 소개다.
사실 내용은 크게 많지 않다. 이미 계산한 값을 메모리에 캐시를 해놔서
재귀 호출 내의 함수 호출 횟수를 줄이는 방법이다.
메모 전략에서는 어떤 하위 문제를 처음 계산했을 때 그 결과를 일종의 캐시에 저장.
같은 하위 문제를 다시 풀어야 할 때는 이를 완전히 새로 풀지 않고 캐시에서 이미 풀어뒀던 결과를 가져와 반환.
피보나치수열 계산의 경우에는 반복 계산하는 케이스보다는 메모 전략이 효율이 떨어지지만,
단순 재귀 호출에 비해서는 엄청난 효율을 갖는다.
메모 전략에서는 캐시의 자료형을 결정하는 것이 매우 중요.
캐시는 모든 하위 문제의 결과를 저장하기에 충분해야 함.
일반적으로 배열을 사용하,
문제가 단 하나의 차원으로 구성되면 1차원 배열을 사용, 아니라면 다차원 배열을 사용함.
기억해야 할 점
- 메모 전략도 재귀 접근 방법에 속함.
- 재귀 호출에서 발생하는 하위 문제의 반복 계산이라는 부작용을 피하면서도 문제의 구체화 및 하향식 문제 해결이라는 재귀 접근 방식의 이점 살릴 수 있음.
메모 전략 = 재귀 호출 + 캐시 - 하위 문제의 반복 계산
- 사실 하위 문제의 반복 계산이 없으면 단순 재귀 호출이나 메모 전략이나 차이가 없음.
반응형
'Study > Algorithm 문제풀이' 카테고리의 다른 글
DP 정복 - 3.2 하향식 접근 방법과 상향식 접근 방법 (0) | 2021.08.26 |
---|---|
DP 정복 - 3.1 다이내믹 프로그래밍이란? (0) | 2021.08.25 |
DP 정복 - 2.2 하위 문제의 반복 계산 (0) | 2021.08.23 |
DP 정복 - 2.1 최적의 하위 구조 (0) | 2021.08.22 |
DP 정복 - 1.2 재귀 호출과 메모리 (0) | 2021.08.21 |
Comments