한빛 미디어의 "나는 리뷰어다" 를 통해서 Think Data Structures (자바로 배우는 핵심 자료구조와 알고리즘) 책을 받게되었다. 전에 한빛 미디어 사이트를 들어갔을때 어떤 책인지 궁금했었는데 이렇게 타이밍 적절하게 책을 읽게 되었다.
우선 이책은 그냥 알고리즘 책이 아니다. "자바로 배우는" 알고리즘 책이다. 그렇기 때문에 자바 코드를 읽을 수 있어야 한다. 저자도 책의 머릿말에 사전 준비사항으로 자바를 언급하면서 익숙하지않은 독자들은 "Think Java", "Head First Java" 책을 권해주고 있다.
자바의 Collection 과 알고리즘
이 책에는 Java Collection들이 많이 나온다. LinkedList, Map, ArrayList 등등. 알고리즘을 설명하면서 거기에 맞는 클래스를 구현한다. 구현을 하다 보면 우리가 Java 에서 사용하는 Collection 클래스가 만들어진다. 그래서 그저 import만 해서 노출된 메서드만 사용하는것을 넘어서 그 클래스가 어떻게 동작하는지 이해할 수 있게 된다. 그리고 각각의 실습을 통해서 실제로 적용해볼 수 있도록 유도한다.
알고리즘과 적용
알고리즘에 대한 설명과 더불어 위키피디아 웹 클롤러나 인덱서를 실제로 구현해 볼수도 있다. 책에서는 간단하게 구현하고 설명하고 있지만 그 작동 원리를 이해하는데 많은 도움이 된다. 어떤 알고리즘을 적용해야 하는지 어떻게 구현해야 하는지 생각하고 실습하다 보면 더 이 책의 재미에 더 빠져들 수 있다.
이책이 나에게 다른 알고리즘 책에 비해서 좀더 친숙하다고 생각한 것은 Java 로 된 소스코드 때문이다. C 나 파이썬이 아닌 Java 로 되어있었기 때문에 나에게는 더 유익했고 이해가 쉬웠다. Java 개발자라면 한번쯤 읽어보고 내가 그동안 썼던 라이브러리들에 대해서 다시 생각해 볼 수 있는 계기를 마련해줄수 있는 책이다.
'Enjoy Life > 책을 읽자!!' 카테고리의 다른 글
[나는 리뷰어다] <처음 배우는 암호화> 로 암호화 이론을 공부해보자~ (0) | 2018.08.29 |
---|---|
[길벗 개발자 리뷰어] 수학과 알고리즘의 조화!!! 알고리즘산책: 수학에서 제네릭 프로그래밍까지 (0) | 2018.08.29 |
[나는 리뷰어다] <Vue.js 첫걸음> 으로 Vue.js 의 첫걸음을 시작하자. (0) | 2018.05.24 |
[길벗 개발자 리뷰어] Node.js 마이크로 서비스 코딩 공작소 (0) | 2018.04.19 |
[나는 리뷰어다] 아주 큰 스케치북 그림그리기 & 색칠하기!! (0) | 2018.04.07 |