그림으로 개념을 이해하는 그로킹 알고리즘 (개정판)
아디티야바르가바 지음
김도형 옮김
이번 책은 "그로킹 알고리즘" 이라는 알고리즘 입문서 입니다.
알고리즘 책으로써 2017년 초판이 발행된 이후 꾸준히 사랑받고 있는 책 입니다.
이유는 ... 쉽게 풀어서 설명하고 있기 때문이겠죠.
초판 발행 이후 개정판이 출간 되었습니다.
알고리즘 입문서라고 하지만 프로그래밍 하면서 기본적으로 사용되는 알고리즘 부터 좀 더 확장된 알고리즘도 일부 다루고 있습니다.
[ 대상 독자 ]
알고리즘에 관심있는 모두 .... 를 대상으로 한다고 생각됩니다.
[ 책 구성 ]
이 책은 총 13개의 장으로 구성되어 있습니다.
책의 시작은 정형화 되어 있지는 않네요. 시작하기에 앞서 섹션이 있는 장이 있고 아닌 장이 있어요.
중요한 부분은 아니지만, 시작하기에 앞서 섹션에서 해당 장에서 학습 하고자 하는 목표가 무엇인지를 그리고 미리 알면 좋은 것에 대해서 정리 되어 있습니다.
1장, 알고리즘의 소개
01. 시작하기에 앞서
02. 이진 탐색
03. 빅오 표기법
2장, 선택 정렬
01. 메모리가 작동하는 방식
02. 배열과 연결 리스트
03. 선택 정렬
04. 예제 코드
3장, 재귀
01. 시작하기에 앞서
02. 재귀
03. 기본 단계와 재귀 단계
04. 스택
4장, 퀵 정렬
01. 시작하기에 앞서
02. 분할 정복
03. 퀵 정렬
04. 빅오 표기법 복습
5장, 해시 테이블
01. 해시 함수의 소개
02. 해시 함수
03. 해시 테이블을 사용하는 예
04. 충돌
05. 성능
6장, 너비 우선 탐색
01. 시작하기에 앞서
02. 그래프의 소개
03. 그래프란 무엇인가 ?
04. 너비 우선 탐색
05. 그래프의 구현
06, 알고리즘의 구현
7장, 트리
01. 시작하기에 앞서
02. 루트가 있는 트리
03. 깊이 우선 탐색
04. 이진 트리
05. 허프만 코딩
8장, 균형 트리
01. 시작하기에 앞서
02. 균형 잡기
03. 작은 트리가 더 빠르다
04. AVL 트리: 균형 트리의 일정
05. 스플레이 트리
06. B 트리
9장, 다익스트라 알고리즘
01. 너비 우선 탐색 vs 다익스트라 알고리즘
02. 다익스트라 알고리즘
03. 용어 설명
04. 다익스트라 알고르즘을 사용한 물물 교환
05. 간선의 가중치가 음수인 경우
06. 구현
10장, 탐욕 알고리즘
01. 수업 시간표 짜기 문제
02. 배낭 채우기 문제
03. 집합 커버링 문제
11장, 동적 프로그래밍
01. 배낭 채우기 문제
02. 자주 하는 질문
03. 최장 공통 부분 문자열
12장, KNN 알고리즘
01. 오렌지와 자몽 분류하기
02. 추천 시스템 만들기
03. 회귀 분석
04. 머신러닝의 소개
05. 머신러닝 모델 훈련의 개요
13장, 더 공부해야 할 것
01. 선형 회귀
02. 역 인덱스
03. 퓨리에 변환
04. 병렬 알고리즘
05. 맵-리듀스
06. 블룸 필터와 하이퍼로그로그
07. HTTPS와 디피-헬만 키 교환
08. 지역 민감 해싱
09. 최소 힙과 우선순위 큐
10. 선형 프로그래밍
부록,
A, AVL 트리의 성능
B, NP-난해 문제
이 책은 알고리즘에 대해 좀 더 쉽게 다가갈 수 있게 하기위해 일상적인 예제와 많은 그림들을 적절하게 사용하고 있습니다.
내용 설명 중 필요에 따라 " TIP" 박스를 두어 알면 좋을 용어나 찾아 보면 좋을 내용들 그리고 꼭 알아야 할 부분들에 대해서 알려 주고 있습니다. 말 그대로 TIP 입니다. 상세한 부분을 다루지는 않습니다.
각 장의 마지막에는 어떠한 부분들을 담고 있었는지의 각 장에서 배운 항목들에 대한 한줄 요약과 연습문제가 있어서 각 장에서 배운 것에 대해서 한번 생각 해볼 수 있도록 정리 되어 있습니다.
아, 연습문제에 대한 풀이는 부록에 포함되어 있습니다.
연습문제 중에서 문제 해결에 대한 대한 풀이는 문제에 따라서 풀이가 여러가지가 있을 수 있기에 부록의 풀이는 정답이다 라기 보다 이러한 형태로 접근할 수 있구나로 이해하고 다른 방법들은 없는지도 생각해보면 좋을 것 같습니다.
[ 결 론 ]
알고리즘 관련된 책은 엄청 많은 것 같습니다.
대부분이 딱딱한 학습서일 것이라 생각되는데, 이 책은 많은 내용을 담기 보다 기본에 충실하며, 그리고 좀 더 알고리즘과 자료 구조에 대해 친근하게 다가갈 수 있도록 저자의 노력이 보이는 책 입니다.
자칫 잘못하면 예를 들어 설명하는 부분들이 더 어렵게 받아 들일 수 도 있는데, 이 책은 각각의 내용에 맞게 적절하게 잘 표현되어 있는 것 같습니다.
알고리즘이 처음 이라면 이 책을 학습한 후 다음 책으로 넘어가면 좋을 것 같습니다.
https://www.hanbit.co.kr/store/books/look.php?p_code=B1314421842
그로킹 알고리즘(개정판)
알고리즘, 어렵지 않다! 그림과 예제로 쉽게 배우는 알고리즘 입문서
www.hanbit.co.kr
"한빛미디어 <나는리뷰어다> 활동을 위해 책을 제공받아 작성된 서평입니다." |
'리뷰 > IT_책소개' 카테고리의 다른 글
대규모 머신러닝 시스템 디자인 패턴 : 한빛미디어 (0) | 2024.12.29 |
---|---|
O'REILLY 밑바닥부터 시작하는 딥러닝5 : 한빛미디어 (1) | 2024.11.26 |
O'REILLY 이펙티브 러스트 : 한빛미디어 (2) | 2024.10.27 |
O'REILLY AI를 위한 필수 수학 : 한빛미디어 (1) | 2024.09.29 |
네트워크 인프라 자동화 : 한빛미디어 (1) | 2024.08.26 |
보고혁명 : 한빛미디어 (1) | 2024.07.29 |
실전 레디스 : 한빛미디어 (0) | 2024.06.29 |
그림으로 배우는 스프링6 입문 : 한빛미디어 (0) | 2024.04.27 |
게임 AI를 위한 탐색 알고리즘 입문 : 한빛미디어 (0) | 2024.03.24 |
LARGE LANGUAGE MODELS : 한빛미디어 (0) | 2024.02.26 |