HOME > Detail View

Detail View

(C++로 구현한)자료구조론

(C++로 구현한)자료구조론 (Loan 23 times)

Material type
단행본
Personal Author
Shaffer, Clifford A. 우진운 유해영
Title Statement
(C++로 구현한)자료구조론 / Clifford A. Shaffer 저 ; 우진운 ; 유해영 [공역].
Publication, Distribution, etc
서울 :   이한출판사 ,   1999.  
Physical Medium
489 p. : 삽도 ; 25 cm.
Varied Title
Data syructures and algorithm analysis
ISBN
8982411496
Bibliography, Etc. Note
참고문헌(p.469-475)과 찾아보기 수록
000 00745namccc200253 k 4500
001 000001052447
005 20100805060635
007 ta
008 001120s1999 ulka 001a kor
020 ▼a 8982411496 ▼g 93560: ▼c \15000
040 ▼a 244002 ▼c 244002 ▼d 244002
049 0 ▼l 151081066
082 0 4 ▼a 005.73 ▼2 21
090 ▼a 005.73 ▼b 1999f
100 1 ▼a Shaffer, Clifford A.
245 2 0 ▼a (C++로 구현한)자료구조론 / ▼d Clifford A. Shaffer 저 ; ▼e 우진운 ; ▼e 유해영 [공역].
246 1 9 ▼a Data syructures and algorithm analysis
260 ▼a 서울 : ▼b 이한출판사 , ▼c 1999.
300 ▼a 489 p. : ▼b 삽도 ; ▼c 25 cm.
504 ▼a 참고문헌(p.469-475)과 찾아보기 수록
700 1 ▼a 우진운
700 1 ▼a 유해영
950 0 ▼b \15000

Holdings Information

No. Location Call Number Accession No. Availability Due Date Make a Reservation Service
No. 1 Location Sejong Academic Information Center/Science & Technology/ Call Number 005.73 1999f Accession No. 151081066 Availability Available Due Date Make a Reservation Service C

Contents information

Book Introduction

자료구조를 선택하거나 필요한 원리를 터득하는 데 백과사전식으로 잡다하게 늘어 놓는 것보다는 스스로 학습하며 최선의 방법과 원리를 터득하는 데 주안점을 두었다. 또, 몇 가지 널리 사용되지 않는 자료구조가 포함되어 있는데 이것은 중요한 원리를 설명하기 위한 불가피한 선택이었고, 앞으로 널리 사용될 자료구조에 대한 언급도 있다.

이 책은 학부생 수준의 한 학기용으로 구성 되어 있으며, 이 책을 공부하기 위해서는 프로그래밍 방법을 알고 있어야 한다. 그리고, 이 책을 공부하는 데 필요한 수학적 지식은 2장에서 요약해 놓고 있으며, 귀납적 방법과 순환에 대해 익숙하다면 많은 도움이 될 것이다.

프로그래밍 예들은 모두 C++로 되어 있다. 그러나 꼭 C++에 익숙할 필요는 없고 그 언어의 특성만을 이해하고 있으면 학습이 진행되도록 작성되어 있다. 여기서, C++은 자료구조 개념을 설명하기 위한 도구로서 사용되었으며 실제 최소한의 C++만을 사용하고 있다. 특히, 상세한 구현을 숨기기 위해 클래스, 비공개 클래스멤버, 생성자, 소멸자와 같은 기능을 이용한다.

설명을 명확하게 하기 위해 C++의 어떤 기능들은 사용되지 않았다. C++ 프로그래머들이 주로 쓰는 클래스계층, 상속성, 가상함수 같은 기능은 가능한한 사용을 자제하고 C++기초 문법을 위주로 해서 자료구조를 설명 하였다. 그러므로, 사용언어에 대해 크게 부담을갖고 이 책을 필요는 없다. 또, 독자들에게 추가 정보를 주기위해 각 장 끝마다 참고 문헌 정보를 두어 심화 학습을 위한 배려했다.

마지막으로 저자는 자료구조를 학습함에 있어서 책만 읽어서는 안되고 실제 프로그램을 구현해보고, 어떤 것이 주어진 상황에서 가장 잘 작동하는가를 알아보기 위해 서로 다른 방법들을 비교해보고, 분설력을 키우기 위한 많은 문제들을 풀어보라고 서문에서 지적하고 있다. 이 책에서는 그러한 예제들을 많이 만나볼 수 있다.


Information Provided By: : Aladin

Author Introduction

Clifford A. Shaffer(지은이)

Information Provided By: : Aladin

Table of Contents


목차
제1부 서론 = 15
 제1장 자료구조와 알고리즘 = 17
  1.1 자료구조의 개념 = 17
   1.1.1 자료구조의 필요성 = 17
   1.1.2 비용과 이점 = 20
   1.1.3 이 책의 목표 = 21
  1.2 추상 자료형과 자료구조 = 22
  1.3 문제, 알고리즘, 프로그램 = 26
  1.4 알고리즘의 효율성 = 30
  1.5 참고문헌 = 31
  1.6 연습문제 = 33
 제2장 수학적 기초 = 37
  2.1 집합 = 37
  2.2 그밖의 기호 = 40
  2.3 로그 = 42
  2.4 순환 = 44
  2.5 합과 순환 = 47
  2.6 수학적 증명법 = 50
   2.6.1 모순법 = 50
   2.6.2 수학적 귀납법 = 51
  2.7 추정 = 57
  2.8 참고문헌 = 59
  2.9 연습문제 = 60
 제3장 알고리즘 분석 = 63
  3.1 개요 = 64
  3.2 최선의 경우, 최악의 경우, 평균의 경우 = 71
  3.3 빠른 컴퓨터 또는 빠른 알고리즘은? = 73
  3.4 점근적 분석 = 76
   3.4.1 상한(upper bound) = 77
   3.4.2 하한(lower bound) = 79
   3.4.3 Θ표시 = 81
   3.4.4 간단한 규칙 = 82
  3.5 프로그램의 실행시간 계산 = 83
  3.6 공간의 상한과 하한 = 90
  3.7 참고문헌 = 91
  3.8 연습문제 = 92
제2부 기본적인 자료구조 = 97
 제4장 리스트, 스택, 큐 = 99
  4.1 리스트 = 99
   4.1.1 배열에 기초한 리스트 구현 = 104
   4.1.2 연결 리스트 = 108
   4.1.3 리스트 구현에 대한 비교 = 122
   4.1.4 원소의 구현 = 124
   4.1.5 이중 연결 리스트 = 125
   4.1.6 원형 연결 리스트 = 131
  4.2 스택 = 132
   4.2.1 배열에 기초한 스택 = 133
   4.2.2 연결 스택 = 135
   4.2.3 배열에 기초한 스택과 연결 스택의 비교 = 137
   4.2.4 순환의 구현 = 138
  4.3 큐 = 139
   4.3.1 배열에 기초한 큐 = 140
   4.3.2 연결 큐 = 145
   4.3.3 배열에 기초한 큐와 연결 큐의 비교 = 147
  4.4 연습문제 = 147
  4.5 프로젝트 = 150
 제5장 이진 트리 = 151
  5.1 정의와 특성 = 151
   5.1.1 포화 이진 트리 정리 = 155
   5.1.2 이진 트리의 노드 ADT = 158
  5.2 이진 트리의 순회 = 159
  5.3 이진 트리의 표현 = 161
   5.3.1 포인터를 이용한 노드 표현 = 161
   5.3.2 공간 분석 = 167
   5.3.3 완전 이진 트리를 위한 배열 표현 = 170
  5.4 호프만 코드 트리 = 172
   5.4.1 호프만 코드 트리의 구축 = 173
   5.4.2 호프만 코드의 활당과 사용 = 180
  5.5 이진 탐색 트리 = 185
  5.6 히프와 우선순위 큐 = 196
  5.7 참고 문현 = 204
  5.8 연습문제 = 205
  5.9 프로그래밍 문제 = 209
 제6장 일반 트리 = 213
  6.1 일반 트리의 정의와 용어 = 213
   6.1.1 일반 트리 노드의 ADT = 215
   6.1.2 일반 트리 순회 = 216
  6.2 부모 포인터 = 218
  6.3 일반 트리의 구현 = 226
   6.3.1 자식 리스트 = 226
   6.3.2 왼쪽 자식/오른쪽 형제 구현 = 228
   6.3.3 동적 노드 구현 = 229
   6.3.4 동적 "왼쪽 자식/오른쪽 형제" 구현 = 232
  6.4 K-진 트리 = 233
  6.5 순차적 트리 구현 = 234
  6.6 참고문헌 = 237
  6.7 연습문제 = 238
  6.8 프로젝트 = 241
 제7장 그래프 = 243
  7.1 용어와 표현 = 244
  7.2 그래프 구현 = 250
  7.3 그래프 순회 = 256
   7.3.1 깊이우선탐색 = 258
   7.3.2 너비우선탐색 = 261
   7.3.3 위상 정렬 = 263
  7.4 최단-경로 문제 = 266
   7.4.1 하나의 시작점에서의 최단 경로 = 267
   7.4.2 모든 쌍의 최단 경로 = 272
  7.5 최소-비용 신장 트리 = 274
   7.5.1 Prim 알고리즘 = 275
   7.5.2 Kruskal 알고리즘 = 278
  7.6 참고 문헌 = 280
  7.7 연습문제 = 281
  7.8 프로젝트 = 284
제3부 정렬과 탐색 = 285
 제8장 내부 정렬 = 287
  8.1 용어와 표기법 = 288
  8.2 세 개의Θ(n2)정렬 알고리즘 = 290
   8.2.1 삽입 정렬 = 290
   8.2.2 거품 정렬(Bubble sort) = 293
   8.2.3 선택 정렬 = 295
   8.2.4 교환 정렬의 비용 = 297
  8.3 쉘 정렬 = 299
  8.4 퀵 정렬 = 302
  8.5 합병 정렬 = 312
  8.6 히프 정렬 = 317
  8.7 빈정렬과 기수 정렬 = 320
  8.8 정렬 알고리즘의 실험적 비교 = 328
  8.9 정렬의 하한 = 331
  8.10 참고 문헌 = 332
  8.11 연습 문제 = 333
  8.12 프로젝트 = 338
 제9장 파일 처리와 외부 정렬 = 339
  9.1 주기억장치와 보조기억장치 = 340
  9.2 디스크와 테이프 드라이브 = 343
   9.2.1 디스크 액세스 비용 = 350
   9.2.2 자기 테이프 = 354
  9.3 버퍼와 버퍼 풀 = 356
  9.4 파일에 대한 프로그래머의 관점 = 359
  9.5 외부정렬 = 361
  9.6 외부정렬을 위한 단순 접근방법 = 365
  9.7 참고 문헌 = 369
  9.8 연습문제 = 370
 제10장 탐색 = 375
  10.1 정렬된 배열 탐색 = 376
  10.2 자체-조직화 리스트 = 378
  10.3 집합내의 탐색 = 386
  10.4 해싱 = 387
   10.4.1 해시 함수 = 389
   10.4.2 개방 해싱 = 393
   10.4.3 폐쇄 해싱 = 395
  10.5 참고 문헌 = 407
  10.6 연습문제 = 408
  10.7 프로젝트 = 411
 제11장 인덱싱 구조 = 413
  11.1 선형 인덱싱 = 416
  11.2 ISAM(Indexed Sequential Access Method) = 420
  11.3 트리 인덱싱 = 423
  11.4 2-3 트리 = 426
  11.5 B-트리 = 435
   11.5.1 B+-트리 = 438
   11.5.2 B-트리 분석 = 448
  11.6 참고 문헌 = 449
  11.7 연습문제 = 450
  11.8 프로젝트 = 453
부록 = 455
 A.1 Example 1: ADT for Lists = 455
 A.2 Example 2: Array-Based List Implementation = 457
 A.3 Example 3: Linded List Implementation = 460
 A.4 Example 5: Freelists = 463
 서문 = 3
 역자서문 = 7
 참고문헌 = 469
 찾아보기 = 477


New Arrivals Books in Related Fields

Ramamurthy, Bina (2021)