1. 제목
다이내믹 프로그래밍 완전 정복
2. 책 소개 링크
http://www.hanbit.co.kr/store/books/look.php?p_code=B9440449667
다이내믹 프로그래밍 완전 정복
다이내믹 프로그래밍(동적 계획법)은 알고리즘을 공부하다 마주치는 첫 번째 큰 장벽이다. 이 책은 알고리즘 공부의 걸림돌을 디딤돌로 만들기 위해 다이내믹 프로그래밍이라는 한 가지 주제만을 철저히 파고든다.
www.hanbit.co.kr
3. 출판사 책 소개
빠르고 우아한 상향식 문제 풀이법으로
코딩 면접 광탈에서 멘탈갑으로 거듭나기
다이내믹 프로그래밍(동적 계획법)은 알고리즘을 공부하다 마주치는 첫 번째 큰 장벽이다. 이 책은 알고리즘 공부의 걸림돌을 디딤돌로 만들기 위해 다이내믹 프로그래밍이라는 한 가지 주제만을 철저히 파고든다. 재귀 호출, 메모 전략, 상향식 다이내믹 프로그래밍의 개념을 자세히 설명하고, 고전 알고리즘 문제부터 단골 인터뷰 문제까지 다양한 예제에 세 가지 방법을 적용해본다. 늘 헷갈리던 개념을 확실히 이해하고, 문제 풀이에 적용할 수 있게 될 것이다.
4. 후기
다이나믹 프로그래밍은 개인적으로 어려운 것 같습니다. 이전부터 다이나믹 프로그래밍을 공부할 때, 난이도가 높다고 생각했습니다. 재귀적으로는 조금 잘 와닿는데, 다이나믹 프로그래밍 방법을 사용하면 이해가 되지 않고 머리가 아팠습니다. 백준을 풀 때, 다이나믹 프로그래밍을 보면 현기증이 났습니다. 그래서 관련된 책을 보고 싶어서, 읽어 보고 후기를 쓰게 되었습니다.
이 책은 가독성이 좋습니다. 색채도 깔끔하고 글씨가 꽤 커서 읽기 좋은 것 같습니다. 또, 이미지들이 잘 배치되어 이해에 도움을 주는 것 같습니다. 간혹 대학 서적 같은 이미지가 없는 책들이 많은데, 그런 책들은 저는 집중력이 낮아서 잘 못읽어서 내용이 다소 부족하더라도 이런 책들을 훨씬 선호하는 것 같습니다.
책의 처음에는 재귀호출을 설명하면서 뒤에 다이나믹 프로그래밍에 대하여 설명을 하고 있습니다. 예제로는 하노이 타워를 사용하는데, 재귀호출의 예제로 이전에 봤던 다른 자바책에서도 사용하는 걸 보면 많이 사용하는 예제인 것 같습니다. 재귀호출에서 가장 좋았던 곳은 메모리 사용을 이미지로 보여주는 것입니다. 간단하지만 처음 보는 사람에게는 좋을 것 같습니다. 이후에는 메모이제이션을 설명해주고 다이나믹 프로그래밍으로 넘어갑니다.
다이나믹 프로그래밍은 '하향식 접근 방법과 상향식 접근 방법'에 대하여 설명한 이후로 주로 문제 풀이에 대한 설명으로 진행됩니다. 실전 문제는 11개 정도있어 개념 쌓기에는 도움주기 충분한 개수인 것 같습니다. 다만 약간 아쉬운 점은 실제로 문제를 풀어볼 수 없다는 점입니다. 문제 풀이 사이트에서 직접 풀어보아야 실제 개념에 대하여 제대로 익힐 수 있을 것 같은데, 그러한 점이 없다는 건 아쉬움이 남을 수 밖에 없는 것 같네요.
아쉬움이 남지만 문제들에 대해서는 쉽고 잘 이해되게 설명을 해주는 것 같습니다. 문제 하나마다 '재귀 호출을 사용하는 풀이와, 다이나믹 풀이를 사용하는 풀이'를 설명해주는데 이렇게 비교해서 모든 문제에 대하여 보여준 다는 점이 만족스럽습니다.
전반적인 책에 대해서 느낀 점은 '다이나믹 프로그래밍을 처음 읽거나 초보자인 사람'이 가장 읽기 좋다는 느낌이 들었습니다. 매우 어려운 문제들이 나와서 해당 문제들에서 심오하게 생각한다거나, 무언가 경시대회 정도의 난이도를 요하는 서적을 요구하시는 분들에게는 적절하지 않고, 기본 개념을 잡는다는 느낌으로 보는게 좋습니다.
저는 입문자에게 가독성이 좋아서 추천하고 싶습니다. 저는 고수가 아니라서 알고리즘을 보다 안보면 항상 헷갈리는 것 같습니다. 저도 헷갈릴 때 자주 봐야겠습니다.
'읽은 책' 카테고리의 다른 글
[책 후기] 더 강해지다 Active Defense (0) | 2020.03.03 |
---|---|
[책 후기] 미국 주식 스타터팩 (0) | 2019.12.15 |
[책 후기] 이젠 나도! 자바 (0) | 2019.12.13 |
[책 후기] 다시 미분 적분 (0) | 2019.12.13 |
[책 후기] 파이썬을 활용한 머신러닝 쿡북 (0) | 2019.12.13 |
댓글