-
-
Hello Coding 그림으로 개념을 이해하는 알고리즘 ㅣ Hello Coding
아디트야 바르가바 지음, 김도형 옮김 / 한빛미디어 / 2017년 4월
평점 :
이 책은 각 장마다 흥미로운(체감이 가능한, 억지로 만든 사례가 아닌) 문제로 시작한다. 이 문제를 해결하려고 시도하는 과정과 단계에서 자연스럽게 반복하는 것은 어떤 것인지를 짚고, 이를 토대로 파이썬 코드를 보여주며 해설한다.(코드는 정리/요약 용도라서 양이 많지 않다!)
책을 읽고 난 다음 감상을 줄여보면, 'HeadFirst 시리즈같은 접근법을 취하고 있으나 훨씬 더 명료하고 깔끔하다.'
HeadFirst 시리즈 같다고 한 까닭은 점진적으로, 문제와 시도에서 지식을 유도하고 체감할 수 있도록 하고 있고 이를 위해 삽화도 알맞게 배치되어있기 때문이다.
HeadFirst 시리즈에서 유머는 덜었지만 지루함이 없으며, 편집도 깔끔하고 번역도 구어체를 잘 살려 옮겼기에 읽는 사람에게 부담이 없다. 이 부분은 HeadFirst에 거의 반드시 나오는 서양식 유머의 어색함을 덜었다는 점에서 점수를 높게 주고 싶은 부분이다. 덧붙여 지루함을 덜기 위해 무리하게 꾸민 사례나 문제를 가져오지 않으면서도, 설명이 쉽고 속도감이 있어 즐겁게 읽을 수 있었다.
삽화가 정말로 이해를 많이 도와주기 때문에, 비전공자가 읽어도 무리가 없다는 말이 납득이 된다. 아는 것을 쉽게 설명하기는 정말로 어려운 일인데, 그림이 깔끔한 걸 보면 이해를 잘 전달하기 위해 지은이(와 옮긴이도) 고민이 컸겠구나 싶다.
설명이 충분하고 코드는 적다. 이것은 이 책을 알고리즘 쿡북처럼 쓸 수 없다는 점에서는 단점이 될 수도 있지만, 알고리즘을 이해하는 목적을 위해서-더구나 비전공자까지 포함한다면-적절한 안배였다고 생각한다.
각 장마다 돌발퀴즈, 팁, 노트, 연습문제가 풍부하다. 복습하기 위해 궁리해보면 기억에 오래 남을 것이다. 그리고 다음 장으로 이어지는 부분도 있어서 천천히 풀고 다음장으로 가도 즐거울 것이다.
연습문제 답이 있다는 점도 장점으로 꼽고 싶다. 연습문제를 풀지만 답이 없으면 맞게 풀었나 궁금할 때가 많은데 책 끝에 답이 있으니까 보지 말고 풀고, 맞춰보면 좋다.
정말로 웬만한 건 다 다루는데(KNN!), 그럼에도 불구하고 차근차근 필요한 부분은 짚고 넘어가기 때문에 이 책을 읽은 다음에 다른 알고리즘 책을 보면 한층 수월해질 것 같다.
필요한 부분 위주로 설명하고, 좀 더 심화한 지식 혹은 보충할 지식은 구하는 방법을 설명(ex 칸아카데미 링크 등)해두었다. 혼자서 모든 걸 다 설명하려다 보니 지루해지는 부분을 영리하게 해결했다고 생각한다.
그래서 이 책은 정말로 저자가 의도한 대로, '어려운 기술적인 주제를 쉽게 설명한 책, 즉 읽기 쉬운 알고리즘 책'에 부합한다는 걸 인정할 수 밖에 없다.
특히 마음에 들었던 부분은 동적 프로그래밍(chapter 9)인데, 여행 일정 짜는 걸 좋아했기 때문에 관련 문제가 나와서 흥미진진하게 읽었다.
그래서 이 책은 일부에게 유용하지 않을 수 있다. 앞에 길게 여러번 썼듯이 이미 알고리즘에 익숙하고 이해를 마친 사람에게는 그림책이나 다름 없을 것이다.
책 표지에 '비전공자까지도 알고리즘의 흥미로운 논리 세계로 안내할 것입니다.'라고 했는데 진짜 그 말이 맞다. 누구든 3장까지 천천히 읽은 사람은 그 다음이 어렵지 않을 것이다.