책에서는 프로그래밍 기술을 향상시키기 위해서 알고리즘에 대한 이해는 필수라고 이야기합니다. 프로그램의 재이용함으로 생산성 향상이라는 목표를 달성 할 수 있다는 것이죠. 하지만, 공통 유틸성 프로그램의 사용법만 알면 되지 굳이 내면이 구현 알고리즘까지 알 필요가 있느냐?에 대해서는 고민을 해볼 필요가 있겠네요. 고급스러운 프로그래밍을 위해서는... 이라는 자답으로 인해 책을 펴게 됐으니... 다른 분들도 고려해봄직 합니다.
Part 1. 알고리즘과 자료구조의 기본
1장. 알고리즘이란?
2장. 복잡도
3장. 자료구조란?
Part 2. 기본적인 자료구조
4장. 배열
5장. 연결 리스트
6장. 트리 구조
Part 3. 탐색
7장. 탐색이란?
8장. 해싱
9장. 이진 탐색 트리
10장. 균형 트리
Part 4. 정렬
11장. 정렬이란?
12장. 단순 정렬 알고리즘
13장. 쉘 소트
14장. 퀵 소트
15장. 머지 소트
16장. 힙 소트
17장. 비교를 이용하지 않는 정렬
Part 5. 문자열 탐색
18장. 문자열 탐색
Part 6. 여러 가지 알고리즘
19장. 백 트래킹
20장. 동적 계획