메뉴 바로가기 검색 및 카테고리 바로가기

한빛미디어

독자리뷰

다이내믹 프로그래밍

hji7***

|

2019-12-15

다이내믹 프로그래밍 완전 정복

다이내믹 프로그래밍(동적 계획법)은 알고리즘을 공부하다 마주치는 첫 번째 큰 장벽이다. 이 책은 알고리즘 공부의 걸림돌을 디딤돌로 만들기 위해 다이내믹 프로그래밍이라는 한 가지 주제만을 철저히 파고든다.

  • 저자 : 미나크시 , 카말 라와트
  • 번역 : 박상은
  • 출간 : 2019-10-04

 

몇년전에 한 회사에 면접을 보러 간적이 있습니다.

면접질문에 "다이나믹 프로그래밍"에 대한 질문이 있었습니다.

하지만 저는 전혀... 그게 뭔지 몰랐습니다.

나름 책을 열심히 본다고 생각했는데, 아직 멀었구나 싶었습니다.

면접이 끝나고 돌아오면서 검색을 해봤는데, 내용이 좀 뜬금없었습니다.

"
"
수학과 컴퓨터 공학, 그리고 경제학에서 동적 계획법(動的計劃法, dynamic programming)이란 복잡한 문제를 간단한 여러 개의 문제로 나누어 푸는 방법을 말한다. 이것은 부분 문제 반복과 최적 부분 구조를 가지고 있는 알고리즘을 일반적인 방법에 비해 더욱 적은 시간 내에 풀 때 사용한다.

(
위키백과)



이게뭐지.... 싶었습니다.

그리고,

근래 우연한 기회에 이 책을 입수하게 되었습니다. 책을 읽어보니 프로그래머 입장에서 "동적 계획법"을 어떻게 접근해야 하는 지 이해할 수 있었습니다.



일반적으로는 재귀함수를 사용해서 푸는 문제들이 다이내믹 프로그래밍의 대상이 되고요.

재귀함수는 사실 꼬리재귀에 대해 콜스텍을 소모하지 않게 언어에서 지원해주지 않으면, 쓰기 힘든 부분이 있는데요. 다이내믹 프로그래밍은 이를 다시 상향식으로 풀어서 더 빠르게 수행할 수 있는 방법을 제공해주는 이점이 있겠더군요.



저자는 단순히 다이내믹 프로그래밍을 설명하는데서 끝나지 않고,

알고리즘 예제를 몇 개 들면서, 독자가 충분히 그 과정을 이해할 수 있도록 배려하고 있습니다.



만약 알고리즘에 관심이 있는 독자라면 이 책을 천천히 읽으면서 도움을 받을 수 있을 것 같습니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?