이책은단순히자료구조의종류를나열하고소개하는책이아니다.어떻게동작하는지,왜이자료구조가중요한지에초점을맞춰재미있게풀어낸입문서이다.수많은도해와유머러스한비유를통해자료구조가프로그램을어떻게더효율적이고유연하게만드는지쉽게배울수있다.책에나오는모든자료구조는프로그래밍언어에구애받지않는의사코드로보여주며,변수와배열부터스택,캐시,블룸필터,쿼드트리,그래프에이르기까지15개이상의핵심자료구조를구현해본다.박물관의수집품컬렉션인덱스를구성하거나만화대사를이용해홍보문구를만들고다람쥐가나무줄기를따라목적지로이동하는걸관찰하고,심지어는가장가까운커피숍을찾는방법등일상에서있을법하면서도기발한예제로구성했다.
이책에서다루는내용
계산성능을최적화하기위해속도,유연성,메모리사용량간의균형맞추기
필요에따라동적으로확장하거나축소할수있는자료구조설계하기
간단한자료구조를결합해캐시항목추정,값과키매핑,메모리에맞춰노드크기조정등고급작업수행하기
해시테이블에서데이터검색,이진검색트리로검색속도향상시키기
B-트리로검색효율성향상시키기,무작위적구조로불량데이터의영향줄이기
우리에게익숙한실생활예시로독자의눈높이에맞춰설명하기때문에읽는내내재미있고추상적인개념들도충분히이해할수있다.자료구조를따로배운적이없거나기억이잘나지않아빠르게복습하고싶다면이책한권으로끝내길추천한다.
이책은‘자료구조’를통해바라보는계산적사고(computationalthinking)에대한책이다.자료구조는데이터를조직적으로구성하고저장하기위한구조다.이책은유용한자료구조를모아둔레시피이상의책이다.단순히자료구조를모은것에그치지않고,각자료구조의근본이되는생각과복잡한문제를해결할때자료구조가미치는영향을탐구하며,앞서말한계산적사고를직관적으로이해할수있도록실생활예시를들어설명한다.이책의목표는데이터안에이미존재하는구조를활용하거나새로운구조를만들어문제를효율적으로해결하는방법을통찰하는것이다.
-제레미쿠비카