ngelm***
2018-07-16

이 책은 컴퓨터과학을 공부하거나 기술 인터뷰를 준비하는 소프트웨어 개발자를 위한 실용적인 책입니다. 자료구조와 알고리즘을 빠르게 배울 수 있도록 실용적이고 중요한 부분을 중점으로 설명합니다. 자료구조가 어떻게 동작하는지보다 어떻게 활용하는지에 초점을 맞추었습니다.
이 책은 주요 자료 구조를 소개한 후, 실습 문제를 풀이하면서 자연스럽게 학습하는 방식으로 구성되어 있습니다. 이런 접근 방법은 신선하면서도 원저자의 많은 고뇌가 담겨있다고 생각합니다. 제게는 매우 신선했습니다. 이렇게 좋은 기회를 제공해주신 한빛미디어 관계자님께 깊은 감사의 말씀을 전합니다.
자료 구조(Data Structure)는 시스템에서 데이터를 효율적으로 사용할 수 있도록 데이터의 특성에 따라 알맞은 구조를 만들어 저장하는 방법입니다. 특정 응용에 적합한 자료 구조는 시스템의 효율을 높여줄 수 있습니다.
<자바로 배우는 핵심 자료구조와 알고리즘>에서는 Java Collection Framework(JCF)를 기초로 JCF에서 제공하는 자료 구조를 간단하게 구현하는 방법으로 기본 자료 구조를 소개합니다. 또한, 이야기의 전개 과정이 어떤 문제를 제시하고 이를 해결하기 위한 자료 구조가 어떤 것이 있을까? 라는 의문을 제시하면서 자료 구조에 관해 설명합니다. 이런 전개 과정으로 독자는 각 자료 구조에 대한 이해도를 높일 수 있으며 흥미를 끝까지 잃지 않고 완독할 수 있는 모티브를 제공합니다. 필자는 시간이 많이 소요되었지만 재미있는 시간이었습니다.
이 책에서 소개하는 자료 구조는 Array List, Linked List, Doubly Linked List, Tree, Map, Hash, Binary Search Tree 등 기본 자료 구조를 다룹니다. 물론 지면 한계로 말미암아 꼭 다뤄야 할 기본 자료 구조를 전부 다루지 못하고, 각 자료 구조에 대한 이론적 배경에 관해서 설명이 미흡한 것은 사실입니다. 하지만 굉장히 실용적으로 빈번히 사용하는 자료 구조에 대해서는 대부분 기술하고 있으며, 더 깊이 있게 학습하고 싶은 분들은 관련 내용을 더 학습하면 될 것입니다.
<자바로 배우는 핵심 자료구조와 알고리즘>을 읽은 후, 자바에서 제공하는 기본 자료구조와 알고리즘 활용법에 대해 정리할 수 있는 시간을 가질 수 있었습니다. 그리고 장마다 주어진 실습 문제를 풀이하며 즐거운 시간을 보냈습니다.
약 180페이지로 구성된 얇은 책이므로 이 책에서 설명하는 내용은 제한적입니다. 다만 주요 요소 내용을 링크로 꼼꼼히 정리하여 제공하고 있으므로, 깊이 있게 학습할 분들은 관련 링크를 참고하시면 도움을 얻을 수 있을 것입니다.