본문 바로가기
책/[ 한빛미디어 ] 나는 리뷰어다

[9월] 파이썬 자료구조와 알고리즘

by 사탕공방 2019. 10. 13.

링크를 방문해보면 최근 들어 파이썬이 급속도로 점유율을 올리고 있는 것을 확인할 수 있다.

개인적으로 인공지능 분야의 지속적이면서 폭발적인 성장에 따라 파이썬도 많이 쓰이는 것으로 생각된다.

쉽게 시작할 수 있는 프로그래밍 언어이기도 하고 인공지능 분야의 방대한 라이브러리가 한몫했을 테니 말이다.

 

그런 이유로 문득 알고리즘 공부를 해야겠다고 생각한 시점에 이 책을 선택하였다.

알고리즘과 파이썬 두 마리 토끼를 잡고 싶었기 때문이다.

그러나 통계적으로(?) 찾아보진 않았지만 주변에서 들어보았기를 두 마리 토끼를 잡다가 두 마리 토끼를 모두 놓친다고 하지 않던가.

 

이 책도 개인적인 느낌으로는 그렇게 생각된다.

파이썬, 자료구조, 알고리즘 세 가지를 정리하다 보니 아무래도 작고( A5 ) 적은 페이지( 약 360 ) 수로는 한계가 있었으리라 생각된다.

 

일단 개인적으로 파이썬을 조금 공부해본 상태에서 이 책을 접하게 되었다.

그렇기 때문일까 파이썬에 대한 설명이 많다고 느껴진다. 그런데 설명해주는 종류가 많은 것이지 설명 자체는 조금 불만족스럽다.

 

일단 여러가지를 하나하나 설명하고 넘어가기 때문에 종류가 많다. 그래서 만약 이 책으로 파이썬을 처음 접하는 독자라면 힘들 수 있다.

파이썬의 기초를 설명해주는 것은 아니고 자료구조에 쓰이는 여러 가지(숫자, 내장 시퀀스, 컬렉션, 기타 등등)를 설명하는 것이기 때문이다.

그런 의미에서 파트 1 헬로, 자료구조! 는 읽으면서 많이 졸렸다. 분명 알고 있어야 하는 내용들이지만 그냥 이런 게 있구나 하는 정도로도 충분할 것이라고 생각하기 때문이다.

그때그때 필요한 것들을 생각해낼 수 있는 수준 정도로만 읽고 넘어가도 좋다고 생각한다. 아니면 나중에 무언가 작업하다가 이런 게 필요한데...라는 생각이 들 때 목차를 살펴보도록 하자.

 

이 작은 책에 작은 파트에 자료구조만 넣는 것도 공간이 많이 부족했을 텐데 객체지향이라던가 멀티스레딩이라던가 단위 테스트까지 들어간 것은 대단하다.

그렇지만 자세한건 다 공식문서를 참조하라고 하고 넘어가기도 하는데 별로 좋게 와 닿진 않았다.( 이래서 설명하는 종류만 많다고 한 것이다. )

그럼에도 불구하고 좋게 생각하는 부분은 구글 스타일 가이드 부분이다. 일일이 찾아보기 귀찮을 수 있는데 기초적인 스타일 가이드를 참조해준 것은 고마운 일이다.

 

알고리즘이라는 게 문제를 해결하기 위한 방법이고 그것을 어떤 도구로 해결방법을 만들지를 공부하는 게 자료구조와 알고리즘을 공부하는 이유라고 생각한다.

 

그런 의미에서 파트 2 알고리즘 세상 속으로 부터 파트 3 아름다운 그래프와 트리의 세계는 이 책의 핵심 주제인 만큼 설명은 간략하고 밀도 있게 해 준 다음에 바로바로 실습하도록 함으로써 이해를 돕고 연습문제 풀이를 통하여 생각을 좀 하게 한다. 그런 점에서 보았을 때 이미 자료구조와 알고리즘에 대한 전반적인 지식이 있고 파이썬도 다룰 줄 아시는 분들이라면 연습문제만 보고 넘어가도 괜찮을 듯하다.

여기서 중요한 것은 연습문제만 보고 넘어가도 괜찮다고 한 만큼 연습문제만큼은 꼭 보고 이해하길 바란다. 그래야 이 책을 공부하는 의미가 있다.

 

정리하자면 제대로 공부해야 되는 책이다. 필자처럼 어설프게 파이썬을 알고 있는 상태라면 조금 버거울 것이고 파이썬을 그래도 책 한 권 제대로 공부한 사람이어야 수월하게 내용과 코드가 이해될 것 같다. 그러니까 내용과 코드를 하나하나 다 작성하고 테스트해보면서 하면 파이썬 복습? 에도 큰 도움이 될 것이고 자료구조 및 알고리즘 학습에도 큰 도움이 될 것이다. 연습문제는 필수라는 것을 다시 유념하고 가자.

댓글