<자료구조와 알고리즘 with 파이썬> 최영규, 생능북스

대학시절 자료구조를 강의를 들으며 실제 알고리즘과 구현에 대한 시험을 봤던 기억이 난다.

지금도 신입 개발자 선발을 위한 코딩 테스트를 위해 자료구조를 구현해 볼 것을 주문하는 곳이 있는 걸로 알고 있다.

이 책은 자료구조와 알고리즘에 대한 설명과 각각의 내용을 파이썬으로 구현하는 방법(?)에 대해 설명하고 있다.

자료구조는 컴퓨터에서 메모리를 다루는 방식으로 물리적으로 정해진 메모리 영역을 효율적으로 관리하기 위해 꼭 필요한 분야다. 요즘이야 대부분의 프로그래밍 언어에서 라이브러리 형태로 솔루션을 제공하고 있어 따로 구현할 필요가 없지만 때론 제공하는 솔루션 만으로 모든게 충족되지 않을 때도 있고 라이브러리를 사용하더라도 자료구조의 특성을 정확하게 이해하고 있지 못하면 정확하게 사용에 어려움을 겪을 수도 있다.

자료구조는 한정된 자원을 효율적으로 사용하기 위한 방법이다보니 요즘처럼 컴퓨팅 파워가 넘쳐나는 시절에는 상대적으로 중요성이 간과되기도 하지만 언제나 모든 분야가 그렇듯이 기초가 튼튼한 사람만이 오래 살아남을 수 있다는 것은 진리에 가까운 사실이라고 본다.

자료구조를 다루다보면 자연스럽게 알고리즘에 대한 내용을 다루게 되는데 이진트리의 탐색 우선순위나 그래프 탐색 또는 정렬이나 분할점령과 같은 알고리즘들은 단지 컴퓨터 프로그래밍이 아니라 세상을 살아갈때도 많은 도움이 되는 수학적 원리라고 생각한다.

사실 자료구조와 알고리즘은 수학적 기초가 없이 이해하기 쉽지 않은 분야이고 그만큼 학습자에게 때론 어려움을 주기도 하는데 이 책에서는 삽화나 해설이 달린 이미지를 사용해 학습자의 이해를 돕고 있다.

 

Posted by 휘프노스
,