BOOKSEEK BOOK NOTES
그로킹 알고리즘 (개정판)
같은 결과를 얻는 코드인데 왜 어떤 방법은 데이터가 많아지면 갑자기 느려질까요. 『그로킹 알고리즘』은 이런 질문을 그림과 예제로 따라가는 입문서입니다. 정렬과 탐색에서 시작해 재귀, 해시 테이블, 그래프와 트리, 경로 찾기와 동적 프로그래밍을 다룹니다. 알고리즘 이름과 정답 코드를 빨리 모으기보다 문제가 어떻게 달라지며 그에 맞춰 선택할 방법이 무엇인지 이해하려는 독자에게 가깝습니다.
이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.
책의 기본 정보
- 출판사
- 한빛미디어
- 출간일
- 2025-01-02
- 분량
- 384쪽
- ISBN
- 9791169213288
이 책에서 공부할 수 있는 내용
이 책에서는 탐색과 수행 시간, 트리와 그래프의 문제, 해결 전략의 차이을 다룹니다. 관심 있는 항목을 아래 설명과 함께 살펴보세요.
탐색과 수행 시간
- 이진 탐색·정렬과 Big-O를 연결해 입력 크기에 따른 작업량을 살펴봅니다.
트리와 그래프의 문제
- 트리의 구조와 그래프 탐색·가중 경로 찾기의 질문을 구분합니다.
해결 전략의 차이
- 탐욕·동적 프로그래밍과 어려운 문제의 조건을 사례로 비교합니다.
관련 주제의 학습 사항: 알고리즘 입문 책 추천
어떤 내용을 다루나요?
같은 결과를 얻는 코드인데 왜 어떤 방법은 데이터가 많아지면 갑자기 느려질까요. 『그로킹 알고리즘』은 이런 질문을 그림과 예제로 따라가는 입문서입니다. 정렬과 탐색에서 시작해 재귀, 해시 테이블, 그래프와 트리, 경로 찾기와 동적 프로그래밍을 다룹니다. 알고리즘 이름과 정답 코드를 빨리 모으기보다 문제가 어떻게 달라지며 그에 맞춰 선택할 방법이 무엇인지 이해하려는 독자에게 가깝습니다.
시작 부분에서 이진 탐색과 Big-O를 함께 다룹니다. 찾는 일을 반복한다는 점은 같아도 한 번의 선택으로 남는 후보가 달라지면 과정 전체가 달라집니다. 책의 그림을 따라갈 때에는 결과가 나오는 지점만 보지 말고 매번 남은 범위를 표시해볼 수 있습니다. 몇 번 실행했는지 세는 일에서 입력이 커질 때 어떤 변화가 생기는지 생각하는 일로 넘어가는 것입니다. 뒤에서 다른 알고리즘을 비교할 때에도 필요한 출발점입니다.
배열과 연결 리스트를 살펴보고 정렬과 재귀로 이어지는 부분에서는 알고리즘과 저장 방식이 연결됩니다. 처리 순서만 잘 짜면 된다고 생각했다면 데이터가 놓인 모양도 함께 보게 됩니다. 재귀의 기본 단계와 다음 호출을 나누어 보고, 호출이 쌓이는 스택을 그림으로 따라가면 짧은 코드 뒤의 과정이 드러납니다. 코드 줄 수와 실제 수행할 일이 같지 않다는 질문을 자신이 만든 예제에서도 확인해볼 수 있습니다.
그래프의 너비 우선 탐색과 가중치를 다루는 다익스트라 알고리즘은 비슷해 보이는 문제의 조건을 구분하게 합니다. 어떤 연결을 따라갈 수 있는지와 연결마다 다른 비용을 어떻게 고려할지는 다른 질문입니다. 이 책의 용어와 그림을 읽을 때에는 자신이 찾으려는 답이 무엇인지 먼저 적어보는 편이 좋습니다. 조건을 확인하지 않은 채 익숙한 알고리즘 이름부터 붙이는 습관을 돌아보는 데 활용할 수 있습니다.
개정판에는 트리와 균형 트리의 설명이 보강됐습니다. 허프만 코딩이나 여러 트리의 항목을 통해, 데이터를 분류하는 모양과 처리의 효율이 어떻게 연결되는지도 살펴볼 수 있습니다. 다만 그림을 보고 구조를 이해한 일과 모든 구현을 익힌 일은 구분할 필요가 있습니다. 처음에는 검색과 연결의 기본 관점을 잡고, 실제 구현이 필요해지는 항목에서 예제를 다시 펼치는 방식으로 읽어도 좋습니다.
탐욕 알고리즘과 동적 프로그래밍, NP-완전 문제는 언제나 간단한 정답 절차가 있는 것은 아니라는 질문으로 이어집니다. 눈앞에서 좋은 선택을 하는 방법과 작은 문제의 답을 저장해 이용하는 방법을 같은 전략으로 생각하지 않게 합니다. 책의 여러 사례를 자신의 문제에 곧바로 대입하기보다 어떤 조건에서 그 방법을 검토하는지 살펴보세요. 방법의 이름을 늘리는 것보다 문제를 나누는 기준을 얻는 데 중심을 둘 수 있습니다.
2025년 한국어 개정판을 소개합니다. 알고리즘의 첫 지도를 얻는 설명과 연습문제를 함께 찾는 독자에게 어울립니다. 엄밀한 증명이나 복잡도 분석을 폭넓게 다루는 강의용 교재와는 읽는 밀도가 다릅니다. 책을 고를 때에는 어려운 수식이 적다는 사실만 보지 말고, 그림을 자신의 말로 설명하고 예제의 조건을 바꿔볼 의향이 있는지 생각해보면 좋습니다. 이해한 개념이 실제 문제에서 어느 순간 필요한지 묻는 출발점이 됩니다.
특징
그림과 사례를 통해 탐색·정렬의 과정을 살펴봅니다. 알고리즘의 첫 이미지를 얻으려는 독자에게 맞습니다.
자료구조와 알고리즘의 관계도 설명합니다. 저장 방식과 처리 순서를 함께 생각할 수 있습니다.
2025년 개정판은 트리와 NP-완전 문제 등을 보강했습니다. 구판과 구분해 확인할 내용이 있습니다.
탐욕과 동적 프로그래밍 등 서로 다른 전략을 비교합니다. 정답 코드보다 문제의 조건을 나누는 공부에 활용할 수 있습니다.
이 책에서 주로 다루는 내용
- 탐색과 수행 시간
- 트리와 그래프의 문제
- 해결 전략의 차이
작가 소개
아디티야 바르가바는 컴퓨터과학과 미술을 공부한 소프트웨어 엔지니어입니다. 그림을 이용해 기술 개념을 설명하는 방식으로 알고리즘 입문서를 집필했으며, 한국어 개정판은 김도형이 옮겼습니다.