목차 일부
머리말 ... ⅲ
1장 서론 ... 1
1.1 알고리즘의개념 ... 2
1.2 효율적인 알고리즘 개발의 중요성 ... 3
1.3 알고리즘 언어(C&C++) ... 3
1.4 재귀(recursion) ... 34
1.5 알고리즘 분석과 구현 ... 37
2장 기본적인 자료구조 ... 57
2.1 배열,스택,큐 ... 5...
더보기
목차 전체
머리말 ... ⅲ
1장 서론 ... 1
1.1 알고리즘의개념 ... 2
1.2 효율적인 알고리즘 개발의 중요성 ... 3
1.3 알고리즘 언어(C&C++) ... 3
1.4 재귀(recursion) ... 34
1.5 알고리즘 분석과 구현 ... 37
2장 기본적인 자료구조 ... 57
2.1 배열,스택,큐 ... 58
2.2 우선순위 ... 65
2.3 연결 리스트 ... 75
2.4 트리(Tree) ... 78
2.5 그래프 ... 94
2.6 검색과 정렬 ... 110
2.7 해싱 ... 139
3장 분할-정복(Divide-and-Conquer)방법 ... 149
3.1 최소값과 최대값 찾기 ... 149
3.2 병합정렬(MergeSort) ... 155
3.3 퀵 정렬(QuickSort) ... 159
3.4 Strassen의 행렬 곱셈 ... 164
3.5 히프 정렬(HeapSort) ... 167
3.6 간접히프(Indirect Heaps) ... 169
3.7 균형 트리(하향식 2-3-4 트리,Red-Black 트리) ... 171
3.8 기수 검색 ... 180
3.9 블록외곽 찾기 ... 183
3.10 구간검색(Range Searchint) ... 193
연습문제(3) ... 206
4장 Greedy방법 ... 211
4.1 테이프상의 최적 기억장치 ... 212
4.2 배낭문제(Knaspsack problem) ... 216
4.3 데드라인을 갖는 작업순위 ... 218
4.4 최적의 병합형태 ... 223
4.5 최소가격 스패닝 트리(Spanning Tree) ... 228
4.6 최단 경로(Shortest Path) ... 237
4.7 매칭 ... 243
4.8 네트워크 흐름 ... 248
4.9 가장 인접한 점 문제들(Closest-Point Problems) ... 250
연습문제(4) ... 260
5장 동적 프로그래밍 ... 267
5.1 이항계수(Binomial Coefficient) ... 269
5.2 다단계 그래프(Multistage Graphs) ... 271
5.3 최단 경로를 위한 Floyd 알고리즘 ... 277
5.4 최적 검색 트리(Optimal Binary Search Tree) ... 280
5.5 연속 행렬 곱셈(Chained Matrix Product) ... 283
5.6 배낭(Knapsack) ... 288
5.7 The Traveling Salesperson Problem ... 290
5.8 Flow Shop 스케줄링 ... 293
연습문제(5) ... 296
6장 Backtracking과 Branch-and-Bound ... 299
6.1 Backtracking ... 299
6.2 Branch-and-Bound ... 313
연습문제(6) ... 331
7장 문자열 처리와 NP문제 ... 337
7.1 문자열 검색 ... 337
7.2 파싱(Parsing) ... 345
7.3 파일압축(File Compression) ... 357
7.4 암호학(Cryptology) ... 365
7.5 NP-Hard and NP-Completeness ... 371
연습문제(7) ... 381
8장 병렬 알고리즘 ... 383
8.1 병렬 알고리즘의 개요 ... 383
8.2 병렬 알고리즘을 이용한 병합 ... 395
8.3 병렬 알고리즘을 이용한 정렬 ... 401
8.4 시스톨릭 배열(Systolic Array) ... 405
8.5 Enumeration 분류 ... 408
8.6 odd-even 전송분류 ... 413
8.7 병렬 heap병합 알고리즘 ... 415
연습문제(8) ... 428
찾아보기 ... 431
더보기 닫기