qor***
2019-08-09

이 책은 파이썬을 십분 활용해 필수적인 자료구조와 알고리즘을 두루 살펴본다. 스택, 큐, 연결 리스트 등 추상 데이터 타입과 정렬, 검색, 동적 계획법, 그래프, 트리 등 개발자가 꼭 알아야 할 알고리즘 핵심을 짚는다. 모든 알고리즘은 파이써닉한 코드로 전체를 구현했고 일부 장은 연습문제도 제공한다.
이번 에 읽은 “파이썬 자료구조와 알고리즘” (미아 스타인 지음/ 최우길 옮김)을한마디로 이야기하면 “파이썬 활용 사전”이라고 할 수 있다. 많은 파이썬 입문/활용서가 장황한 설명과 함께 예제를 하나 하나설명하는 방식인데 반해, 이 책은 필요한 내용만을 언제든 찾아서 볼 수 있는 사전 같은 구성이 특징이다. 옮긴이의 말을 빌면, 파이썬과 자료구조 및 알고리즘을 동시에 습득하고자하는 독자 혹은 개발자/엔지니어 면접을 준비하는 독자에게 적합한 책이라고 한다. 파이썬에 대해 아예 기초가 없는 초보자에게는 다소 어려울 수 있지만, 파이썬이상대적으로 배우기 쉬운 언어이고, 시작하고자 할 때 참고할 만한 자료가 넘치는 것을 감안해 본다면 수긍이가기도 한다. 특히나 이미 파이썬을 알고 있지만, 파이썬의다양한 쓰임새를 미처 맛보지 못한 초/중급 개발자에게 보다 넓은 시야를 갖게 하는 데 있어서는 이만한책도 없는 것 같다.
책은15개의 챕터로 구성된다. 마지막 15장이 한국어판 부록으로 참고자료를 간략히 다루는 것을 빼면, 14개의큰 분야에 대해 다양한 주제를 다루고 있다. 책의 초반은 숫자, 내장시퀀스 타입, 컬렉션 자료 구조, 구조와 모듈에 대해 제1장에서 제 4장에 걸쳐 파이썬의 기본 데이터 타입을 이용한기본기를 다지는 데 할애한다. 제 5장부터는 단순히 자료구조 책이라고 하기엔 좀더 심오한 주제인 객체지향설계, 멀티 프로세스와 멀티 스레드 등 파이썬의 고급주제로 발전해 나간다. 그 이후는 알고리즘 파트에 대한 이야기가 펼쳐지는데 제 7장부터는 추상 데이터 타입, 점근적 분석, 정렬, 검색 그리고 동적 계획법에 대해 다룬다. 마지막 파트의 주제는 자료구조 및 알고리즘에서 빼 놓을 수 없는 그래프와 트리이다.
360여페이지 밖에 안되는 작은 책에 이렇게 많은 주제를 충실히 다루고 있는 데서, 지은이의 내공이 느껴지며, 옮긴이의 번역 역시 칭찬하지 않을 수 없다. 딱딱하고 무미 건조하기쉬운 기술서의 내용을 EBS 인터넷 강의를 보는 듯한 느낌으로 풀어내어 읽기에 부담이 없었다. 파이썬에 대해 좀더 깊이 알고 싶고, 보다 효율적으로 문제를 해결하고자하는 파이써니스트라면 곁에 두고 자주 찾아 볼 만한 책이다.