Hello Coding 그림으로 개념을 이해하는 알고리즘 - 8점
아디트야 바르가바 지음, 김도형 옮김/한빛미디어


프로그램을 구성하는 요소 중 크게 2가지를 꼽으라면, 코드와 데이터이며 각각 알고리듬과 자료구조로 연결된다. 이 둘을 알지 못 하고 프로그램을 개발할 수 없고, 개발한 프로그램은 효율성과 제 목적을 벗어난 프로그램이 되기 쉽상이다. 이번에는 '프로그램을 알지 못하는 사람'들 - 프알못 -을 대상으로 쉽게 쓰여진 책(Hello Coding 알고리듬)을 소개하고자 한다.

이 책은 '그림으로 개념을 이해하는' 이란 부제가 붙어 있다. 알고리듬을 그림으로 설명하고, 문법이 비교적 쉬운 python 코드를 이용하여 구현체(코드)를 보여주기 때문에 전공을 계획하는 신입생과 비전공자들도 쉽게 알고리듬 학습을 시작할 수 있다. 특히, 문제를 해결하기 위해 문제 자체를 단순화하고 핵심 알고리듬을 적용하고, 이 알고리듬이 문제를 처리하는 과정을 단계별로 각각 보임으로써 알고리듬이 동작하난 방식을 이해시킨다.

이후 구현을 한 줄 단위로 살명하여, 알고리듬이 실제 코드화되는 전 과정을 상세히 설명한다.

특정 알고리듬을 처리하기 위해서는 적절한 자료구조가 필수적이다. 이 책에서는 '배열', '연결리스트'와 같은 기본 자료구조와 이를 이용한 '선택정렬', '스택'과 '재귀', '해쉬 테이블'과 '그래프', '큐'와 '분할정복' 등을 함께 설명하여 알고리듬뿐 아니라 자료 구조까지 함께 고민하도록 훈련시킨다.


기본적인 정렬부터 NP문제와 머신러닝 알고리듬까지 입문서이지만, 아주 간단한 알고리듬 뿐 아니라 최근 경향을 반영하는 내용까지 담았다.


최근 속해 있는 회사에서 신입사원 교육을 진행하고 있는데, 자료 구조와 알고리듬의 선택이 문제의 해결과 효율성에 큰 기준이 되는 것을 새삼 느꼈다. 개발자로써 시작하는 신입사원들에게 읽을 만한 책으로 이 책의 일독을 권하겠다.

+ Recent posts