평소에는 늘 뭔가 알맹이 없이 그럴싸한 써머리들만 늘어놓는 일본식 책쓰기 문화에 대해 부정적인 시각을 지니고 있었는데.. 초심자에게 생각보다 진입 장벽이 높을 수 있고 적정선에서 단순함을 유지해야 하는 영역에서는 그게 또 대단히 유용하게 사용될 수 있음을 알 수 있었다.. 우리 때에도 쉽게 쓰인 알고리즘 책들이 있었고 누워서 읽는 알고리즘과 같이 국내 저자에 의해 스토리로 풀어쓴 책들도 나와줬었지만 딱 학부 교육 보조 용도로 이 책만큼 잘 정리된 것은 없었던 것 같다.. 내가 도서관을 덜 다닌 탓일 수도 있겠지만 아무튼.. 처남에게 야 이걸로 공부해라 하고 던져주기 전에 슬쩍 버블 소트 파트를 살펴봤는데.. 뭐 기초 알고리즘 이론과 멀어진 지 수백년은 된 것 같은 막연한 생각이 있었는데 삽화 설명이 너무 잘 되어 있어 순식간에 기억을 복원할 수 있었다.. 잘 쓰인 책이다..
최대한 쉽게 설명한다!그림과 순서도로 이해하기 쉽다!아마존재팬 알고리즘 분야 베스트셀러!일본에서 알고리즘 분야 베스트셀러이자 스테디셀러인 이 책은 프로그래밍을 처음 배우려는 분들이나 코딩이 아직 익숙하지 않은 분들을 위해 집필된, 아주 쉬운 입문서다. 정보처리기사에 자주 출제되는 주요 알고리즘을 직접 구현하면서 최대한 쉽게 설명하고 있으며, 데이터 구조에서의 변수와 배열, 그리고 알고리즘을 중심으로 꼼꼼하게 기술하였다. 세상의 모든 지식이 그러하듯이, 알고리즘 또한 기초를 제대로 익혀야 개념을 확실히 이해할 수 있다. 1장에서는 알고리즘의 의미와 배우는 목적을 설명한다. 2장에서는 변수와 배열의 기본을 배운다. 그리고 3장에서 기본적인 알고리즘을 몇 가지 배우고, 4장에서 12장까지는 주요 알고리즘에 대한 본격적인 학습으로 이루어져 있다. 최대한 쉽게 설명하고, 간결한 예제와 그림으로 이해하기 쉽도록 구성된 처음 만나는 파이썬 , 처음 만나는 자바스크립트 와 함께 프로그래밍 입문자들에게 훌륭한 길잡이가 되길 바란다.
Chapter 1 알고리즘의 기본
1 알고리즘이란 무엇인가? _ 2
2 알고리즘과 프로그램의 관계 _ 7
3 프로그램 작성에 있어서의 알고리즘 _ 10
4 좋은 알고리즘이란 어떤 것인가? _ 14
5 왜 알고리즘을 공부해야 하는가? _ 16
6 절차가 알고리즘이기 위한 조건 _ 19
7 알고리즘의 세 가지 기본형 _ 20
8 알고리즘 기술 방법 1 - 순서도 _ 26
9 알고리즘 기술 방법 2 - 프로그래밍 언어 _ 31
10 알고리즘 기술 방법 3 - 의사 언어 _ 34
Chapter 2 변수와 배열
1 변수를 배워 보자 _ 38
2 배열을 배워 보자 _ 50
Chapter 3 알고리즘에 익숙해지기
1 삼각형의 면적을 계산하는 알고리즘 _ 58
2 두 데이터의 대소를 판단하는 알고리즘 _ 63
3 두 변수의 데이터를 교환하는 알고리즘 _ 67
4 합계값을 계산하는 알고리즘 _ 70
5 최댓값을 찾는 알고리즘 _ 77
Chapter 4 선형 탐색법(리니어 서치)
1 유명한 알고리즘이란? _ 86
2 탐색 알고리즘이란? _ 89
3 선형 탐색법 개념 이해하기 _ 91
4 선형 탐색법 알고리즘 _ 93
Chapter 5 이진 탐색법(바이너리 서치)
1 이진 탐색법 개념 이해하기 _ 102
2 이진 탐색법의 알고리즘 _ 105
Chapter 6 해시 탐색법
1 해시 탐색법 개념 이해하기 _ 118
2 해시 함수로 데이터를 보관하는 알고리즘 _ 122
3 해시 탐색법으로 데이터를 탐색하는 알고리즘 _ 133
Chapter 7 단순 선택법(선택 정렬)
1 정렬 알고리즘이란? _ 140
2 단순 선택법 개념을 파악하자 _ 142
3 단순 선택법 알고리즘 _ 146
Chapter 8 단순 교환법(버블 정렬)
1 단순 교환법 개념을 파악하자 _ 158
2 단순 교환법 알고리즘 _ 164
Chapter 9 단순 삽입법(삽입 정렬)
1 단순 삽입법의 개념을 파악하자 _ 176
2 단순 삽입법의 알고리즘 _ 181
Chapter 10 퀵 정렬
1 퀵 정렬의 개념을 파악하자 _ 194
2 퀵 정렬의 알고리즘 _ 200
3 기준값을 경계로 데이터를 대소로 나누는 처리 _ 201
4 나눈 데이터에 다시 한 번 같은 처리를 실행하는 처리 _ 210
Chapter 11 에라토스테네스의 체(소수를 구하는 알고리즘)
1 에라토스테네스의 체란? _ 224
2 에라토스테네스의 체 개념 파악하기 _ 229
3 알고리즘을 순서도로 작성하기 _ 233
4 알고리즘을 의사 언어로 작성하기 _ 242
Chapter 12 유클리드 알고리즘(최대 공약수를 구하는 알고리즘)
1 유클리드 알고리즘 개념을 파악하자 _ 248
2 알고리즘을 순서도로 작성하기 _ 253
3 알고리즘을 의사 언어로 작성하기 _ 256
에필로그 ........... 262
찾아보기 ........... 265