본문 바로가기

자바스크립트 자료구조와 알고리즘



표지르 보면 알겠지만, 고슴도치 보인다. 오라일리 스타일의 동물이 있는 컴퓨터 서적이다. 이런 책은 보통 정말 딱딱한 경우가 많은데, 책이 두껍지 않아서 그런지 딱딱하다기 보다는 재미있게 읽은 것 같다. 자료구조와 알고리즘 책은 보통 C나 자바로 공부하는 경우가 대부분인 것 같은데, 자료구조 자체가 매우 유연하게 설계된 자바스크립트라서 그런지 책을 읽으면서 어렵다는 느낌보다는 '재미있다' 라는 느낌이 더 들었던 것 같다. 



위의 사진을 보면 알겠지만,


책에 코드가 정말 많다. 그리고 설명은 그렇게 많지않다. 이 책의 저자는 마치 궁금하면 코드를 보고 생각해봐! 라고 말하는 것 같다. 이런 부분은 좋기도 하고 안좋기도 한데, 왜냐하면 이 책을 자바스크립트에 익숙하지 않은 사람이 본다면 무슨말을 하는 코드인지 알기가 힘들기 때문에 책을 읽기가 편하지 않을 것이기 때문이다. 

그리고 이 책에서는 스파이더 몽키라는 나로서는 처음 써보는 그다지 유명하지 않은 자바스크립트 쉘을 사용하고 그리고 거기에서만 사용되는 함수를 자주 사용하기 때문에 이 책으로 공부를 하려면 스파이더 몽키를 사용하던지 아니면 자기 나름대로의 방법으로 코드를 고쳐서 사용해야한다. 나는 스파이더 몽키는 이 책에 나온 코드의 의미가 뭔지 확인 할 때에만 사용했고, 보통은 nodejs로 코딩을 했었다. 모든 챕터를 다 정리한 건 아니지만, 9장까지 현재 해놓은 상태이고 나머지 장도 조만간 다 할 계획이다.  링크는 아래에 있다. 

https://github.com/wapj/dsawj

이 책의 저자는 학교에서 프로그래밍을 가르치시는 선생님이다. 그래서 그런지 챕터의 끝에 꼭 이런 연습문제들이 붙어 있다. 스스로의 코딩 실력을 향상시키려면 이런 연습문제를 풀어야 되는 것 아닐까라는 생각이든다. 다시 한번 볼때는 이책의 연습문제도 모두 풀어봐야 겠다는 생각이든다. 


아쉬운 점으로 이책에 코드에 오타가 가끔 좀 보이는데, 이부분은 추후에 수정이 되었으면 한다. 일단 내가 찾은 것들은 출판사 홈페이지에 등록해둘 생각이다. 그리고 저자분이 자바스크립트에 그다지 많이 정통하신 분은 아니라는 생각이 드는데, 왜냐하면 자바스크립트의 프로토타입 상속을 사용하지 않는 점이나, 코드를 여러번 중복해서 쓰는점, 그리고 가끔 비효율적인 코드들이 보이기 때문이다. 그렇지만, 로직 자체에는 문제가 없으므로 보는 사람이 알아서(?) 수정을 하면되겠다..

이 책은 자료구조에 대해서 개념은 알고 구현은 해보지 않았지만, 한번 만들어 보고 싶은 사람중에 자바스크립트에 나름 익숙한 사람이 보면 최적인것 같다. 많이 어렵지도 않고 적당한 난이도로 되어 있으나 그래도 나름 시간이 많이 필요한 책이다. 자료구조와 알고리즘 둘다를 한책으로 볼 수 있다니 그것도 자바스크립트로!! 매력적인 책이다. 




'' 카테고리의 다른 글

Effective Unit Testing  (0) 2014.11.02
파이썬을 활용한 베이지안 통계  (2) 2014.08.26
뉴욕의 프로그래머  (1) 2008.10.25