제1부 준비
칼럼1 조개껍질 깨기
대화 / 정확한 문제 기술 / 프로그램 디자인 / 구현 스케치 / 원리
연습문제 / 더 읽을거리
칼럼2 아하! 알고리즘
세 가지 문제 / 여기저기에서 쓰이는 이진 탐색(Binary Search)
기초적인 조작의 위력 / 정렬 / 원리 / 연습문제 / 더 읽을거리
sidebar : 전철어구 프로그램의 구현
칼럼3 프로그램의 구조를 결정하는 데이터
설문 조사 프로그램 / 폼 레터 프로그래밍 / 다른 예제들 / 데이터 구조화하기
특화된 데이터를 위한 강력한 도구 / 원리 / 연습문제
칼럼4 정확한 프로그램 작성
생각보다 어려운 이진 탐색 / 프로그램 작성 / 프로그램에 대한 이해
원리 / 프로그램 검증의 역할 / 연습문제 / 더 읽을거리
칼럼5 프로그래밍에서의 사소한 문제
가상코드로부터 C로 / 테스트 장치(harness) / 단정문(assertion)사용 요령
자동화된 테스트 / 시간측정 / 완전한 프로그램 / 원리 / 연습문제
더 읽을거리
sidebar : 디버깅
제2부 퍼포먼스
칼럼6 퍼포먼스에 대한 개관
사례 연구 / 디자인의 수준 / 원리 / 연습문제 / 더 읽을거리
칼럼7 봉투뒷면에 하는 간단한 계산
기초 기술 / 퍼포먼스 추정 / 안전계수(Safety Factors)/ Little의 법칙
원리 / 연습문제 / 더 읽을거리
sidebar : 일상생활에서의 간단한 계산
칼럼8 알고리즘 디자인 기법
문제 및 간단한 알고리즘 / O(n2) 알고리즘 두 가지 / 나누어 푸는 알고리즘
스캐닝(scanning) 알고리즘 / 무엇이 중요한가? / 원리 / 연습문제 / 더 읽을거리
칼럼9 코드 튜닝
전형적인 이야기 / 코드 튜닝의 몇 가지 예제 / 대수술-이진 탐색 / 원리
연습문제 / 더 읽을거리
칼럼10 메모리 절약
핵심-단순함 / 이해를 돕는 문제 / 데이터 공간을 위한 기법
코드 공간을 위한 기법 / 원리 / 연습문제 / 더 읽을거리
sidebar : 대규모 절감
제3부 프로덕트
칼럼11 정렬
삽입 정렬 / 간단한 퀵 정렬 / 개선된 퀵 정렬 / 원리 / 연습문제 / 더 읽을거리
칼럼12 표본 선정 문제
문제 / 솔루션 하나 / 디자인 공간 / 원리 / 연습문제 / 더 읽을거리
칼럼13 탐색
인터페이스 / 선형적 구조 / 이진 탐색 트리 / 정수를 위한 구조 / 원리
연습문제 / 더 읽을거리
sidebar : 실질적 탐색 문제
칼럼14 힙(Heaps)
데이터 구조 / 두 가지 중요한 함수 / 우선순위 큐 / 정렬 알고리즘 / 원리
연습문제 / 더 읽을거리
칼럼15 문자열 처리
단어 / 어구 / 텍스트 생성하기 / 원리 / 연습문제 / 더 읽을거리
1판에 대한 에필로그
2판에 대한 에필로그
부록1 알고리즘 카탈로그
부록2 추정퀴즈
부록3 시간과 공간에 대한 비용모델
부록4 코드 튜닝을 위한 규칙
부록5 탐색을 위한 C++ 클래스
연습문제 힌트
연습문제 해답