똑똑한 코드 작성을 위한 실전 알고리즘 본문

Programming

똑똑한 코드 작성을 위한 실전 알고리즘

halatha 2022. 6. 25. 12:50

이미 수많은 자료구조 & 알고리즘 책들이 있는데, 이 책의 가치는 무엇일까? 초보자를 위해, 정말 자주 사용될 부분만 집중적으로, 하지만 다른 초보자들 책에 비해 더 깊게 파고들었다는 점이 특징이라고 생각한다.

대상 독자가 초보자라는 점은 여러가지로 드러나지만, 단적으로 이 페이지만 봐도 알 수 있다. 알고리즘 책에 빠질 수 없는 시간복잡도를 설명하면서 O(NlogN)의 읽는 법을 알려줄 정도로 저자는 입문자를 대상으로 책을 썼다는 점을 알 수 있다.

책은 알고리즘이 뭔지, 복잡도가 뭔지 설명하고, hash, heap, sort, binary tree, graph라는 정말 자주 사용되는, 또한 기본적인 자료구조 & 알고리즘을 한 챕터씩 설명한다. 목차를 보고 든 첫 인상은, 혹시 저자가 interview를 준비하는 사람들을 위해 이런 구성을 선택했나? 하는 생각을 할 정도로, 기초적인 (동시에 매우 중요한) 부분에 집중했다는 생각이다. 실제로 그동안 했던 coding interview를 생각해보면, 주제들이 O(N), hash, sort, binary tree, heap등이 자주 나오고 graph만 해도 보기 쉽지 않으며, 가끔 dyanmic programming을 경험했었다.

앞서 이야기했지만, 다른 책과 좀 차별화되는 점은 하나 하나의 주제를 좀 더 깊게 파고든다는 점이다. 예를 들어 sort에서 tim sort를 다루거나 binary tree에서는 AVL tree를 설명하는 등 완전 초보용으로 보기에는 약간 난이도가 있는 부분까지 설명한다.

책의 마지막에서도 이야기하지만 이런 초보자용 알고리즘 서적은 정말 다양하고 풍부한 알고리즘 세계의 시작에 불과하며, The Art of Computer Programming은 여전히 프로젝트가 진행중이다. 이 책은 이런 알고리즘 세계로 가는 좋은 시작점이다.

한빛미디어 ‘나는 리뷰어다’ 활동을 위해서 책을 제공받아 작성된 서평입니다

Comments