목차
제1장 서론
1.1 기본 개념 = 15
1.2 알고리즘 기술 언어 = 18
1.2.1 변수와 지정문 = 18
1.2.2 반복문 = 19
1.2.3 조건문 = 19
1.2.4 배열 = 19
1.2.5 함수 = 20
1.3 기본 자료구조 = 21
1.3.1 배열과 연결 리스트 = 21
1.3.2 큐와 스택 = 22
1.3.3 그래프 = 23
1.3.4 나무 = 25
1.4 알고리즘의 설계와 분석 = 29
1.5 함수의 분류 = 37
1.5.1 계산 복잡도와 표기법 = 39
1.6 순환과 점화 관계 = 41
연습문제 = 44
제2장 정렬
2.1 기본 개념 = 47
2.2 기초적인 정렬 알고리즘 = 50
2.2.1 선택 정렬 = 50
2.2.2 버블 정렬 = 51
2.2.3 삽입 정렬 = 53
2.2.4 쉘 정렬 = 56
2.3 퀵 정렬 = 59
2.4 합병 정렬 = 67
2.5 히프 정렬 = 72
2.6 분포에 의한 정렬 = 81
2.6.1 계수 정렬 = 81
2.6.2 기수 정렬 = 84
2.6.3 버킷 정렬 = 85
2.7 특정 순서 원소 찾기 = 87
2.7.1 최소값 찾기 = 87
2.7.2 최소값과 최대값 동시에 찾기 = 88
2.7.3 i 번째 크기 원소 찾기 = 89
2.8 외부 정렬 = 93
2.8.1 균형적 다방향 합병 정렬 = 94
2.8.2 대치 선택 = 96
2.8.3 다단계 합병 정렬 = 99
연습문제 = 103
제3장 탐색
3.1 기본적인 탐색법 = 107
3.1.1 순차 탐색법 = 107
3.1.2 이진 탐색법 = 109
3.1.3 이진 탐색 나무 = 110
3.2 균형 나무 = 118
3.2.1 2-3-4 나무 = 118
3.2.2 흑적 나무 = 122
3.3 해싱 = 130
3.3.1 해시 함수 = 131
3.3.2 연쇄법 = 135
3.3.3 개방 주소법 = 138
3.4 외부 탐색법 = 145
3.4.1 인덱스된 순차 접근 = 145
3.4.2 B-나무 = 146
연습문제 = 149
제4장 스트링 매칭
4.1 기본 개념 = 155
4.2 직선적 알고리즘 = 156
4.3 라빈-카프 알고리즘 = 158
4.4 유한 상태 자동 장치와 스트링 매칭 = 162
4.5 KMP 알고리즘 = 165
4.6 보이어-무어 알고리즘 = 172
연습문제 = 177
제5장 기하 알고리즘
5.1 기본 개념 = 181
5.1.1 기하 요소의 표현 방법 = 182
5.1.2 용어 설명 = 183
5.2 기초적인 기하 알고리즘 = 184
5.2.1 두 선분의 교차 검사 = 184
5.2.2 단순 폐쇄 경로 찾기 = 189
5.2.3 점과 다각형의 상대 위치 검사 = 195
5.3 볼록 껍질 찾기 = 201
5.3.1 단순한 방법 = 202
5.3.2 짐꾸리기 알고리즘 = 203
5.3.3 Graham의 볼록 껍질 구하는 알고리즘 = 210
5.4 최근접 점쌍 찾기 = 215
연습문제 = 222
제6장 그래프 알고리즘
6.1 그래프의 표현 = 227
6.2 그래프의 순회 = 230
6.2.1 깊이 우선 탐색 = 230
6.2.2 너비 우선 탐색 = 234
6.2.3 위상 정렬 = 238
6.3 그래프의 연결성 = 240
6.3.1 연결 성분 = 240
6.3.2 이중 연결성 = 240
6.3.3 강연결 성분 = 243
6.3.4 합-찾기 문제 = 246
6.4 최소 신장 나무 = 252
6.5 최단 경로 = 262
6.5.1 단일 출발점 최단 경로 = 262
6.5.2 모든 쌍 최단 경로 = 267
6.6 네트워크 플로 문제 = 273
6.6.1 포드-풀커슨 방법 = 274
6.6.2 최대 이분 짝짓기 = 283
연습문제 = 285
제7장 동적 프로그래밍
7.1 서론 = 291
7.2 행렬의 연쇄적 곱셈 = 293
7.3 최적 이진 탐색 나무 = 297
7.4 스트링 편집 거리 = 303
연습문제 = 306
제8장 행렬
8.1 행렬의 주요 성질 = 309
8.2 스트라센의 행렬 곱셈 알고리즘 = 312
8.3 LUP 분할과 역 행렬 = 314
8.4 최소 자승 근사법 = 322
연습문제 = 325
제9장 NP-완전 문제
9.1 기본 개념 = 329
9.2 NP-완전성과 변환성 = 332
9.2.1 비결정론적 알고리즘 = 332
9.2.2 P와 NP의 정의 = 334
9.3 NP-완전성의 증명 = 337
9.3.1 클리크 판정 문제 = 338
9.3.2 버텍스 커버 문제 = 339
9.3.3 해밀토니언 사이클 문제 = 341
9.3.4 추가의 NP-완전 문제들 = 343
9.4 근사 알고리즘 = 344
9.4.1 버텍스 커버 문제 = 346
9.4.2 궤 채우기 문제 = 348
9.4.3 0/1 배낭 문제 = 350
연습문제 = 354
제10장 수리 이론 알고리즘
10.1 수리 이론의 기본 개념 = 359
10.2 모듈러 산술 연산 = 363
10.3 중국인 나머지 정리 = 368
10.4 RSA 공개키 암호 시스템 = 371
연습문제 = 374
제11장 상각 분석
11.1 기본 개념 = 379
11.2 합계 방법 = 383
11.3 회계 방법 = 386
11.4 위치 에너지 방법 = 388
연습문제 = 391
제12장 병렬 알고리즘
12.1 기본 개념 = 395
12.2 최소값 찾기 = 403
12.3 리스트 순위 부여 = 410
12.4 접두부 부분합 계산 = 413
12.5 행렬 곱셈 = 416
12.6 병렬 합병 정렬 = 419
연습문제 = 423
제13장 특수한 알고리즘
13.1 확률적 알고리즘 = 427
13.1.1 기본 개념 = 427
13.1.2 몬테칼로 알고리즘 = 428
13.1.3 라스베가스 알고리즘 = 433
13.2 유전 알고리즘 = 438
13.2.1 기본 개념 = 438
13.2.2 후보해의 표현과 유전 연산자 = 439
13.2.3 초기 해집단의 생성, 적응도 계산 함수 및 매개변수 = 440
13.2.4 유전 알고리즘 응용 = 440
13.2.5 유사 알고리즘 = 444
연습문제 = 447
참고문헌 = 449
찾아보기 = 451