Ⅰ 기초
알고리즘을 설계하고 분석하는 방법을 학습한다. 그리고 이 책에서 사용한 설계 방법과 알고리즘을 분석할 때 필요한 기본 개념 등도 소개한다.
Ⅱ 정렬과 순서 통계량
알고리즘 분야의 가장 기본적인 문제로 여겨지는 정렬과 관련된 알고리즘, 예를 들어 삽입 정렬, 병합 정렬, 힙 정렬, 퀵 정렬 등에 대해 알아본다.
Ⅲ 자료구조
동적인 집합을 지원하는 다양한 알고리즘, 예를 스택, 큐, 연결 리스트, 루트 있는 트리와 같은 기본 자료구조와 해시 테이블, 이진 검색 트리, 레드블랙 트리 등에 대해 알아본다.
Ⅳ 고급 설계 및 분석 기법
알고리즘을 효율적으로 설계하고 분석하기 위한 세 가지 중요한 기법들, 즉 동적 프로그래밍, 그리디 알고리즘, 분할상환 분석에 대해 알아본다.
Ⅴ고급 자료구조
Ⅲ 자료구조에서 소개한 자료구조보다 좀더 심화된 B 트리, 병합 가능한 힙, 이항 힙, 피보나치 힙, 서로 소 집합에 대한 자료구조에 대해 알아본다.
Ⅵ 그래프 알고리즘
컴퓨터 분야에서 많이 사용되는 자료구조인 그래프를 알고리즘에 대해 알아본다. 너비 우선 검색과 깊이 우선 검색을 이용해 그래프를 찾는 알고리즘을 소개하고, 그래프의 최소 신장 트리를 계산하는 방법, 단일 출발지 최단 경로 계산과 모든 쌍의 최단 경로 찾는 문제에 대해 알아본다.
Ⅶ 알고리즘 분야의 중요한 토픽
앞에서 다룬 내용을 확장하거나 보충하는 알고리즘 관련 주제를 정리해 놓은 부분이다. 조합 회로나 병렬 컴퓨터와 같은 새로운 계산 모델, 계산기하학, 효율적인 알고리즘을 설계하기 위해 필요한 제한성을 극복하기 위한 NP-완비성에 대해 알아본다.
Ⅷ 부록: 수학적 기초
알고리즘 분석에 필요한 크기 관련 개념 등을 정리해준다. 경계의 합산을 구하는 방법, 집합/관계/함수/그래프/트리의 기본 정의와 표기법 및 특성, 순열과 조합 등에 대해 알아본다.