목차 일부
Chapter1 데이터 구조의 개관
1.1 데이터의 표현 ... 17
1.1.1 수치 데이터 ... 17
1.1.2 비수치 데이터 ... 24
1.2 추상화 ... 29
1.2.1 추상화의 정의 ... 29
1.2.2 문제 해결과 추상화 ... 31
1.3 데이터 구조와 그 종류 ... 37
...
더보기
목차 전체
Chapter1 데이터 구조의 개관
1.1 데이터의 표현 ... 17
1.1.1 수치 데이터 ... 17
1.1.2 비수치 데이터 ... 24
1.2 추상화 ... 29
1.2.1 추상화의 정의 ... 29
1.2.2 문제 해결과 추상화 ... 31
1.3 데이터 구조와 그 종류 ... 37
1.3.1 데이터 구조의 정의 ... 37
1.3.2 데이터 구조의 종류 ... 39
연습문제 ... 42
Chapter2 알고리즘
2.1 개요 ... 47
2.2 알고리즘의 표현 ... 48
2.3 알고리즘의 분석 ... 49
2.3.1 정확성 ... 50
2.3.2 수행량 ... 52
2.3.3 평균과 최악의 경우 분석 ... 53
2.3.4 기억 장소 사용량 ... 57
2.3.5 단순성 ... 57
2.3.6 최적성 ... 58
2.3.7 증가율에 따른 함수의 구분 ... 60
2.3.8 차수의 중요성 ... 63
연습문제 ... 67
Chapter3 스트링과 배열
3.1 스트링 ... 73
3.1.1 스트링의 정의 ... 73
3.1.2 스트링의 표현 방법 ... 73
3.1.3 스트링의 연산 ... 76
3.2 1차원 배열 ... 78
3.2.1 배열의 정의 ... 78
3.2.2 1차원 배열의 정의 및 표현 ... 80
3,3 다차원 배열 ... 82
3.3.1 다차원 배열의 정의 ... 82
3.3.2 다차원 배열의 표현 ... 84
3.4 특별한 행렬 ... 88
3.4.1 희소 행렬의 표현 ... 90
3.4.2 삼각 행렬 ... 94
3.5 C언어에서의 배열 ... 97
3.5.1 1차원 배열 ... 97
3.5.2 2차원 배열 ... 98
연습문제 ... 103
Chapter4 레코드
4.1 레코드 ... 109
4.1.1 레코드의 정의 ... 109
4.1.2 레코드의 표현 ... 110
4.2 C 언어에서의 레코드 ... 116
4.2.1 레코드의 선언 ... 116
4.2.2 레코드 필드의 참조 ... 117
4.2.3 레코드 배열 ... 118
4.2.4 중첩된 레코드 ... 118
연습문제 ... 121
Chapter5 스택과 큐
5.1 스택 ... 125
5.1.1 스택의 정의 ... 125
5.1.2 스택의 표현과 연산 ... 125
5.1.3 스택의 배열 구현 ... 131
5.1.4 스택의 오버플로우 처리 ... 135
5.2 수식의 계산 ... 138
5.2.1 연산자의 우선 순위 ... 138
5.2.2 수식의 표기법 ... 140
5.2.3 후위 표기식의 계산 알고리즘 ... 141
5.2.4 중위 표기식을 위한 후위 표기식으로 변환 ... 145
5.3 미로 실험 ... 148
5.4 큐 ... 152
5.4.1 큐의 정의 ... 152
5.4.2 큐의 표현과 연산 ... 153
5.4.3 큐의 배열 구현 ... 155
5.5 원형 큐 ... 158
5.6 데크 ... 162
5.6.1 데크의 정의 ... 162
5.6.2 데크의 표현 및 연산 ... 163
5.6.3 데크의 종류 ... 165
5.6.4 큐의 응용 ... 165
연습문제 ... 169
Chapter6 리스트
6.1 선형 리스트 ... 175
6.1.1 선형 리스트의 정의 ... 175
6.1.2 선형 리스트의 기본 연산 및 특성 ... 175
6.2 단순 연결 리스트 ... 179
6.2.1 단순 연결 리스트의 정의 ... 179
6.2.2 단순 연결 리스트의 기본 연산 ... 180
6.3 연결된 스택과 큐 ... 188
6.3.1 연결된 스택과 큐의 기본 연산 ... 188
6.3.2 기억 공간 관리 ... 195
6.4 원형 연결 리스트 ... 201
6.4.1 원형 연결 리스트의 정의 ... 201
6.4.2 기본 연산 ... 202
6.5 이중 연결 리스트 ... 204
6.5.1 이중 연결 리스트의 정의 ... 204
6.5.2 이중 원형 연결 리스트의 정의 ... 205
6.5.3 이중 원형 연결 리스트의 기본 연산 ... 2.6
6.5.4 다중 연결 리스트 ... 210
6.6 연결 리스트의 응용 ... 211
6.6.1 다항식 덧셈 ... 211
6.6.2 희소 행렬 ... 217
연습문제 ... 223
Chapter7 그래프
7.1 정의 및 용어 ... 229
7.1.1 개요 ... 229
7.1.2 정의 및 용어 ... 230
7.1.3 그래프 표현법 ... 236
7.2 그래프의 순회와 신장 트리 ... 242
7.2.1 깊이 우선 탐색 ... 243
7.2.2 너비 우선 탐색 ... 244
7.2.3 연결 요소 ... 245
7.2.4 신장 트리 ... 248
7.2.5 최소 비용 신장 트리 ... 250
7.3 최단 경로와 도착 가능성 ... 256
7.3.1 최단 경로 ... 256
7.3.2 도착 가능성 ... 264
7.4 위상 정렬과 임계 경로 ... 265
7.4.1 위상 정렬 ... 265
7.4.2 임계 경로 ... 269
7.5 그래프의 응용 ... 272
7.5.1 PERT/CPM 문제 ... 274
7.5.2 위상 정렬 문제 ... 276
7.5.3 최소 비용 신장 트리 문제 ... 278
7.5.4 최대 유통 문제 ... 280
연습문제 ... 286
Chapter8 일반 트리와 이진 트리
8.1 일반 트리 ... 293
8.2 이진 트리 ... 298
8.2.1 개요 ... 298
8.2.2 이진 트리의 표현 ... 301
8.2.3 일반 트리의 이진 트리 변환 ... 304
8.2.4 트리의 응용 ... 306
8.3 이진 트리의 순회와 연산 ... 307
8.3.1 이진 트리의 순회 ... 307
8.3.2 삽입 및 삭제 ... 311
8.4 스레드 이진 트리 ... 313
8.5 이진 탐색 트리 ... 321
8.5.1 정의 및 구조 ... 321
8.5.2 운영 방법 ... 323
8.5.3 탐색 길이 ... 324
8.5.4 삽입 및 삭제 ... 327
8.6 이진 탐색 트리의 균형 ... 330
8.6.1 AVL­트리 ... 332
8.6.2 BB­트리 ... 333
8.6.3 스플레이 트리 ... 335
연습문제 ... 340
Chapter9 m­원 탐색 트리와 트라이
9.1 m­원 탐색 트리 ... 347
9.2 B­트리 ... 350
9.2.1 정의 및 탐색 연산 ... 350
9.2.2 B­트리의 삽입 ... 353
9.2.3 B­트리의 삭제 ... 358
9.3 $$B^*$$< / TEXT>­트리 ... 361
9.4 $$B^+$$< / TEXT>­트리 ... 366
9.4.1 $$B^+$$< / TEXT>­트리의 구조 ... 366
9.4.2 B­트리와의 비교 ... 368
9.4.3 B­트리의 홀용 : 인덱스 순차 파일 ... 368
9.5 2­3, 2­3­4 및 레드 블랙 트리 ... 372
9.5.1 2­3 트리 ... 372
9.5.2 2­3 트리의 탐색 ... 374
9.5.3 2­3 트리의 삽입 및 삭제 ... 374
9.5.4 2­3­4 트리 ... 378
9.5.5 2­3­4 트리의 삽입 및 삭제 ... 380
9.5.6 레드 블랙 트리 ... 384
9.6 트라이 ... 387
연습문제 ... 394
Chapter10 순환
10.1 개요 ... 399
10.2 순환 함수의 호출 ... 401
10.3 순환 기법 사용시 고려 사항 ... 404
10.4 순환 알고리즘의 복잡도 분석 ... 405
10.4.1 순환 알고리즘 ... 405
10.4.2 순환 방정식 ... 407
10.4.3 순환 방정식의 해법 ... 409
연습문제 ... 417
Chapter11 탐색
11.1 개요 ... 421
11.2 선형 탐색 ... 422
11.3 개선된 선형 참색 ... 424
11.4 이진 탐색 ... 426
11.5 이진 탐색 트리의 이용 ... 427
11.5.1 이진 탐색 트리의 생성 ... 428
11.5.2 특정 노드의 탐색 ... 429
11.5.3 노드의 삽입 ... 430
11.5.4 노드의 삭제 ... 432
11.5.5 이진 탐색 트리의 성능 분석 ... 436
연습문제 ... 441
Chapter12 정렬
12.1 정의 및 특성 ... 445
12.2 내부 정렬 ... 446
12.2.1 삽입 정렬 ... 446
12.2.2 선택 정렬 ... 449
12.2.3 버블 정렬 ... 451
12.2.4 셀 정렬 ... 454
12.2.5 콤 정렬 ... 456
12.2.6 퀵 정렬 ... 458
12.2.7 2­원 합병 정렬 ... 465
12.2.8 O(1) 합병 정렬 ... 468
12.2.9 기타 개선된 합병 정렬 ... 471
12.2.10 히프 정렬 ... 476
12.2.11 리스트 정렬 ... 480
12.2.12 테이블 정렬 ... 483
12.2.13 기수 정렬 ... 485
12.2.14 내부 정렬의 정리 ... 489
12.3 외부 정렬 ... 491
12.3.1 자연 합병 ... 493
12.3.2 균형 2­원 합병 ... 495
12.3.3 균형 m­원 합병 ... 496
12.3.4 다단계 합병 ... 498
연습문제 ... 504
Chapter13 해싱
13.1 개요 ... 509
13.2 해시 함수 ... 510
13.2.1 나눗셈법 ... 510
13.2.2 중간 제곱법 ... 511
13.2.3 폴딩법 ... 512
13.2.4 기수 변환법 ... 513
13.2.5 자리수 분석 법 ... 513
13.2.6 성능 평가 ... 514
13.3 충돌 해결 방안 ... 515
13.3.1 선형 검색법 ... 515
13.3.2 2차 겁핵법 ... 516
13.3.3 해시 체이닝법 ... 517
연습문제 ... 522
한글색인 ... 524
영문색인 ... 529
더보기 닫기