티스토리 뷰

한빛미디어에서 굉장히 재미있는 알고리즘 책이 번역되었다. 


Hello Coding 그림으로 개념을 이해하는 알고리즘

아디트야 바르가바 지음, 김도형 옮김


책의 인트로에는 "누가 이 책을 읽어야 하나요?" 라는 질문에 "프로그래밍을 전혀 경험해보지 못한 비전공자 (중/고등학생, 대학생, 일반인)" 라는 답을 던지고 있는데 정말 충실한 답변이라고 할 수 있을 정도로 쉽고 친절하게 알고리즘에 대한 개념을 설명한다.


이 책의 가장 큰 매력은 번역서이지만 크게 거부감이 들지 않는다는 점이다. 번역에 많은 공을 들인 것이 큰 부분을 차지하겠지만, 어려운 개념이 없다는 점도 주목해야 한다. 그만큼 프로그래밍을 모르는 사람을 위한 서적이기도 하다는 의미이다.




이 책의 목차를 개인 주관대로 재정의 해보면 다음과 같다.

1. 책에서 다루게 될 용어에 대한 설명 (빅오, 로그 등)

2. 정렬, 재귀, 해시 테이블

3. 동적 프로그래밍

4. KNN 알고리즘


위 목차는 개인적으로 재밌게 읽었거나, 어린 친구들에게 추천하고 싶은 부분 위주로 뽑았다. 책에서는 개념을 설명하면서 간혹 실제 코드나 의사코드(pseudo code)를 포함하는데, 모두 요즘 대세인 python 으로 작성되어 있다. 계속 강조되지만 그렇기 때문에 비전문가도 어렵지 않게 내용을 이해할 수 있다. (코드 내용을 이해하지 못해도 크게 상관 없으니 걱정하지 마시라.)


아래는 책의 본문에서 재귀함수를 설명하는 부분을 발췌한 내용이다. 이렇게 까지 쉽게 설명된 책은 지금까지 접해보지 못한 것이 사실이다.

 



책장을 넘길수록 재미에 탄력을 받아 읽는 속도도 빨라지는데 KNN(k-nearest neighbors) 알고리즘 부분은 감탄이 절로 나올 정도로 쉽고 재밌게 예제와 함께 쓰여있다. 특히 이 알고리즘은 요즘 핫한 분야인 머신러닝에서도 classification을 위해 많이 통용되는 알고리즘이기 때문에 알아두면 분명 써먹을 곳이 생긴다.



한편 이 책에 유일하게 아쉬운 점을 꼽는다면.. 간혹 예제에 나오는 명칭에 있다. 가령 넷플릭스(Netflix)의 추천시스템을 설명할 때 등장하는 인물들의 이름을 번역할 당시에 적당히 친근한 이름으로 커스텀 할 수 있지 않았을까? 하는 아쉬움이 남는다. 


사실 억지로 찾은 단점이라고 할 수 있겠다. 그만큼 단점을 찾기 쉽지 않은 책이다.



전체적으로 쉽고 재밌게 쓰여졌기 때문에 비전공자를 위한 필수 알고리즘 도서로 추천해도 아깝지 않을 책이다. 


깊게 공부하거나 준전문가 이상의 수준이라면 이 책은 너무 가벼울 수도 있다. 하지만 이 부분은 어차피 고려대상이 아니다. 이 책은 그런 사람들을 위한 책이 아니니까 말이다.

댓글
최근에 올라온 글
최근에 달린 댓글
글 보관함
Total
Today
Yesterday