lees***
2019-11-06

다이내믹 프로그래밍(동적 계획법)은 알고리즘을 공부하다 마주치는 첫 번째 큰 장벽이다. 이 책은 알고리즘 공부의 걸림돌을 디딤돌로 만들기 위해 다이내믹 프로그래밍이라는 한 가지 주제만을 철저히 파고든다.
<나는 리뷰어다> 10월 이벤트 당첨으로 작성한 리뷰 입니다.
[한줄평]
재귀적 사고에서 다이내믹 사고로 전환하기에 최적의 도서입니다.
[목차구성]
[PART 1 재귀 호출의 모든 것]
CHAPTER 01 재귀 호출의 이해
CHAPTER 02 재귀 호출의 특징과 메모 전략
[PART 2 드디어 다이내믹 프로그래밍]
CHAPTER 03 다이내믹 프로그래밍의 이해
CHAPTER 04 다이내믹 프로그래밍 적용 전략
[PART 3 지금부터 게임을 시작하지]
CHAPTER 05 실전 문제
[PART 4 부록은 덤이다]
APPENDIX A 알고리즘의 효율성(시간과 공간 복잡도)
APPENDIX B 코딜리티 활용하기
[대상 독자]
코딩 면접을 준비하는 개발자
코딩 알고리즘 경진대회를 준비하는 학생
[이 책의 주요 특징]
- 재귀 호출의 A to Z
- 재귀 호출과 메모리 구조의 관계
- 최적의 하위 구조 + 하위 문제의 반복 계산
- 메모 전략을 활용한 재귀 호출 성능 개선
- 하향식 접근 vs 상향식 접근
- 다이내믹 프로그래밍 기초부터 문제 풀이 전략까지
- 부분집합의 합, 최장 공통 부분 수열, 0-1 배낭, 회문 등 실전 문제 풀이
[서평]
개발자로 취업을 하려면 코딩면접을 봐야 한다. 운이 좋게 자주 나오는 알고리즘 문제를 외워서 나오면 다행이지만 새로운 유형이 나오면 멘붕이 올것이다. 이책은 알고리즘 공부 어려움 점을 쉽게 해결 할수 있는 다이내믹 프로그래밍을 배울수 있다. 재귀호출,메모전략, 상향식 다이내믹 프로그래밍의 개념을 자세히 설명하고 단골로 출제되는 알고리즘 문제부터 인터뷰 문제까지 다양한 예제에 적용을 하고 있다. 외워서 알고리즘을 푸는 것이 아니라 알고리즘적 생각 다이내믹 프로그래밍을 이해하고, 문제 풀이에 적용할수 있는 능력을 배울수 있을 것입니다.