목차
머리말 = 3
1 개요 = 9
1.1 데이터 구조 = 11
1.2 객체지향 프로그래밍 = 13
1.3 추상 데이터 타입 = 16
1.4 객체지향 프로그래밍 언어 Java = 17
1.5 알고리즘에 필요한 수학적 기초 = 27
요약 = 32
연습문제 = 33
2 알고리즘 분석법 = 35
2.1 알고리즘이란? = 37
2.2 알고리즘의 분석 = 40
2.3 최적 알고리즘 = 44
2.4 점근적 복잡도 = 46
2.5 순환 = 54
요약 = 60
연습문제 = 61
3 배열 = 63
3.1 개요 = 65
3.2 1차원 배열 = 66
3.3 2차원 배열 = 72
3.4 다차원 배열 = 75
3.5 배열의 응용 = 76
요약 = 79
연습문제 = 81
4. 연결 리스트 = 83
4.1 개요 = 85
4.2 단순 연결 리스트 = 87
4.3 원형 연결 리스트 = 95
4.4 이중 연결 리스트 = 99
4.5 이중 원형 연결 리스트 = 102
4.6 연결 리스트의 응용 = 106
요약 = 112
연습문제 = 114
5. 스택 = 115
5.1 스택의 개념 = 117
5.2 배열로 구현하는 스택 = 119
5.3 연결 리스트로 구현하는 스택 = 124
5.4 스택의 응용 = 130
요약 = 143
연습문제 = 144
6. 큐 = 145
6.1 큐의 개념 = 147
6.2 배열로 구현하는 큐 = 149
6.3 원형 큐 = 153
6.4 연결 리스트로 구현하는 큐 = 157
요약 = 163
연습문제 = 164
7 정렬 알고리즘 = 165
7.1 개요 = 167
7.2 버블정렬 = 168
7.3 선택정렬 = 172
7.4 삽입정렬 = 176
7.5 퀵 정렬 = 182
7.6 합병정렬 = 192
7.7 힙 정렬 = 197
요약 = 202
연습문제 = 204
8 그래프 = 205
8.1 기본개념 및 용어 = 205
8.2 그래프의 표현방법 = 207
8.3 그래프의 순회 = 215
8.4 최소 신장 트리 = 220
8.5 최소 비용 신장 트리 = 228
요약 = 231
연습문제 = 234
9 트리 = 237
9.1 기본개념 및 용어 = 239
9.2 이진트리 = 243
9.3 이진트리의 표현 = 247
9.4 이진트리의 순회 = 251
9.5 이진 탐색트리의 연산 = 258
요약 = 277
연습문제 = 278
10 탐색 알고리즘 = 279
10.1 개요 = 281
10.2 순차탐색 = 282
10.3 이진탐색 = 286
10.4 이진탐색 트리 = 291
10.5 피보나치 탐색 = 295
요약 = 300
연습문제 = 301
찾아보기 = 303