목차 일부
머리말 ... 3
PART 1 기본개념
제1장 자료의 표현 ... 17
1-1 알고리즘 ... 18
1-2 재귀(recursion) ... 19
1-3 알고리즘의 분석 ... 23
연습문제 ... 32
PART 2 선형리스트
제2장 배열(array) ... 37
2-1 배열의 구조 ... 37...
더보기
목차 전체
머리말 ... 3
PART 1 기본개념
제1장 자료의 표현 ... 17
1-1 알고리즘 ... 18
1-2 재귀(recursion) ... 19
1-3 알고리즘의 분석 ... 23
연습문제 ... 32
PART 2 선형리스트
제2장 배열(array) ... 37
2-1 배열의 구조 ... 37
2-2 배열의 표현방법 ... 40
연습문제 ... 47
제3장 선형리스트(linear list; ordered list) ... 48
3-1 스택(stack) ... 55
3-2 큐(queue) ... 68
3-3 디큐(deque) ... 79
3-4 Strassen의 행렬 곱셈 ... 82
연습문제 ... 85
PART 3 연결리스트
제4장 단순 연결 리스트 ... 89
4-1 환상형 연결 리스트(circular linked list) ... 98
4-2 다중 연결 리스트(multi-linked list) ... 102
연습문제 ... 109
제5장 스트링과 문자처리 ... 112
5-1 기본개념 ... 112
5-2 고정길이 스트링 방법 ... 115
5-3 연결 리스트 방법 ... 117
연습문제 ... 120
제6장 스트링 검색 ... 121
6-1 간단한 역사 ... 122
6-2 주먹구구식 알고리즘 ... 124
6-3 Knuth-Morris-Pratt 알고리즘 ... 126
6-4 Boyer-Moore 알고리즘 ... 133
연습문제 ... 139
PART 4 트리구조
제7장 기본 개념 ... 143
7-1 이진트리(binary tree)구조 ... 148
7-2 이진트리 운행법 ... 154
7-3 Threaded 이진트리 ... 160
7-4 트리구조를 이진트리구조로 표현 ... 165
연습문제 ... 169
제8장 찾기-합하기 문제(union find problem) ... 174
연습문제 ... 184
제9장 최적의 병합 형태 ... 185
PART 5 그래프
제10장 기본 개념 ... 193
10-1 그래프의 표현 ... 198
10-2 그래프의 운행법 ... 200
연습문제 ... 205
제11장 가중치 그래프 ... 206
11-1 최소 스패닝 트리(minimum spanning tree) ... 208
11-2 우선순위-우선 검색(priority first search) ... 210
11-3 Kruskal 방법(kruskal's method) ... 215
11-4 최단 경로(shortest path) ... 219
연습문제 ... 224
제12장 매칭 ... 226
12-1 양분 그래프(bipartite graphs) ... 228
12-2 안정적 결혼 문제(stable marriage problem) ... 232
연습문제 ... 238
PART 6 검색
제13장 기초적인 검색방법들 ... 243
13-1 순차적 검색(sequential search) ... 244
13-2 이진검색(binary search) ... 248
13-3 보간검색(interpolation search) ... 252
연습문제 ... 253
제14장 이진 트리 검색 ... 254
14-1 이진 트리 검색(binary tree search) ... 254
14-2 삭제(deletion) ... 262
연습문제 ... 266
제15장 해싱(hashing) ... 268
15-1 제곱 방법(mid-square) ... 269
15-2 나누는 방법(division) ... 269
15-3 Folding법 ... 270
15-4 숫자분석법(digit-analysis) ... 271
15-5 과잉상태 처리기법 ... 273
15-6 요약 ... 279
연습문제 ... 280
제16장 균형 트리 ... 281
16-1 하향식 2-3-4 트리들 ... 282
16-2 적색-흑색(red-black) ... 287
연습문제 ... 299
제17장 기수 검색 ... 301
17-1 디지털 검색 트리(digital search trees) ... 302
17-2 기수 검색 트라이(radix search tries) ... 306
17-3 다중 방법 기수 검색(multiway radix searching) ... 310
연습문제 ... 312
제18장 외부 검색 ... 314
18-1 색인 순차 접근(indexed sequential access) ... 316
18-2 B-트리(B-trees) ... 318
18-3 확장 가능 해싱(extendible hashing) ... 323
연습문제 ... 333
PART 7 정렬
제19장 기본 개념 ... 337
19-1 기초적인 정렬방법 ... 341
연습문제 ... 355
제20장 퀵 정렬 ... 357
20-1 기본 알고리즘 ... 358
20-2 재귀를 제거(removing recursion) ... 364
20-3 선택 ... 368
연습문제 ... 372
제21장 기수 정렬 ... 374
21-1 비트(bits) ... 375
21-2 기수 교환 정렬(radix exchange sort) ... 377
21-3 일직선상의 기수 정렬(straight radix sort) ... 382
21-4 기수 정렬의 활용도 특성 ... 385
연습문제 ... 386
제22장 우선 순위 ... 388
22-1 기초적인 구현들 ... 390
22-2 히프 자료구조 ... 392
22-3 히프에서의 알고리즘 ... 394
22-4 히프 정렬(heapsort) ... 399
연습문제 ... 407
제23장 병합 정렬 ... 409
23-1 병합 ... 410
23-2 병합 정렬 ... 413
23-3 리스트 병합 정렬 ... 414
23-4 상향식 병합 정렬 ... 416
연습문제 ... 423
제24장 외부 정렬 ... 425
24-1 외부순서 정렬 ... 425
24-2 정렬-병합 ... 427
24-3 균형화된 다중 방법 병합(balanced multiway merging) ... 427
24-4 대체 선택(replacement selection) ... 430
24-5 실제적인 고려들 ... 434
24-6 다중 단계 병합(polyphase merging) ... 436
연습문제 ... 440
PART 8 기타 알고리즘
제25장 최소값과 최대값 찾기 ... 445
25-1 테이프상의 최적 기억 장치 ... 451
25-2 배낭문제(knapsack problem) ... 454
25-3 데드라인을 갖는 작업 순위 ... 457
연습문제 ... 463
제26장 파일 압축 ... 464
26-1 반복 문자-길이의 코드화(run-length encoding) ... 465
26-2 가변 문자-길이의 코드화(variable-length encoding) ... 469
26-3 Huffman 코드의 구성(building the huffman code) ... 471
26-4 구현(implementation) ... 475
연습문제 ... 479
제27장 암호화 ... 481
27-1 게임 규칙(rules of the game) ... 483
27-2 간단한 방법들(simple methods) ... 484
27-3 암호작성/해독기들(encryption/description machines) ... 487
27-4 공개키 암호 시스템들(public-key cryptosystems) ... 488
연습문제 ... 493
제28장 기초적인 기하학적 방법 ... 495
28-1 점, 선 및 다각형(points, lines, and polygons) ... 496
28-2 선분 교차(line segment intersection) ... 498
28-3 단순 폐경로(simple closed path) ... 501
28-4 다각형 안에 포함됨(inclusion in a polygon) ... 503
연습문제 ... 507
제29장 볼록 외곽 찾기 ... 509
29-1 게임 규칙(rules of the game) ... 511
29-2 패키지 포장(package-wrapping) ... 513
29-3 Graham 스캔(the graham scan) ... 516
29-4 내부제거(interior elimination) ... 521
29-5 성능 문제(performance Issues) ... 523
연습문제 ... 525
제30장 구간 검색 ... 527
30-1 기본 방법 (elementary methods) ... 530
30-2 격자법(grid method) ... 532
30-3 이차원 트리(two-dimensional tree) ... 536
30-4 다차원 구간 검색(multidimensional range searching) ... 543
연습문제 ... 545
제31장 기하학적 교차 ... 547
31-1 수평-수직선들(horizontal and vertical line) ... 549
31-2 구현(implementation) ... 553
31-3 일반적 선분 교차(general line intersection) ... 556
연습문제 ... 561
제32장 가장 인접한 점 문제들 ... 563
32-1 가장 인접한 쌍 문제(closest-pair problem) ... 564
32-2 Voronoi 다이어그램(voronoi diagram) ... 573
연습문제 ... 576
찾아보기 ... 579
더보기 닫기