CHAPTER 1 데이터 구조와 데이터 처리
1. 데이터와 정보
2. 데이터 처리를 위한 데이터 구조
3. 데이터의 표현
3.1 데이터의 표현
4. 알고리즘
4.1 알고리즘의 정의
4.2 시간 및 공간 복잡도와 그 상호 관계
연습 문제
CHAPTER 2 기본 데이터 구조
1. 순서 리스트
2. 배열
2.1 배열의 정의
2.2 배열 요소의 위치 계산
3. 행렬
3.1 전치 행렬
3.2 희소 행렬
4. 레코드
4.1 레코드의 개요
4.2 C/C++에서의 레코드 처리
5. 스트링
5.1 스트링의 개요
5.2 스트링의 운용
5.3 C/C++에서의 스트링 처리
연습 문제
CHAPTER 3 리스트
1. 선형 리스트(Linear List)
1.1 선형 리스트의 삽입과 삭제 연산
1.2 선형 리스트의 삽입과 삭제 시 평균 이동 횟수
2. 링크드 리스트
2.1 링크드 리스트의 구조
2.2 C/C++에서의 링크드 리스트 처리
3. 다중 링크드 리스트
3.1 이중 링크드 리스트
3.2 환형 링크드 리스트
3.3 이중 환형 링크드 리스트
연습 문제
CHAPTER 4 스택, 큐, 데크
1. 스택
1.1 스택의 정의
1.2 스택의 구현 방법
1.3 C/C++에서 스택의 이용
1.4 스택의 구현 알고리즘
2. 큐
2.1 큐의 정의
2.2 큐의 구현 방법
2.3 큐의 구현 알고리즘
2.4 큐의 오버플로 처리
2.5 큐의 활용
2.6 큐의 길이
3. 다중 스택과 다중 큐
3.1 다중 스택
3.2 다중 큐
4. 데크
4.1 데크의 정의
4.2 데크의 구현
연습 문제
CHAPTER 5 트리
1. 트리
1.1 트리의 정의
1.2 용어
1.3 트리의 종류
1.4 트리의 문제
2. 이진 트리
2.1 이진 트리의 종류
2.2 이진 트리의 생성 방법
2.3 이진 탐색 트리
3. 트리의 운행
3.1 트리의 운행
3.2 이진 트리의 운행
4. 연산식의 표현
5. 스레드 이진 트리
연습 문제
CHAPTER 6 그래프
1. 그래프
1.1 그래프의 용어
1.2 그래프의 종류
2. 그래프의 표현
2.1 인접 행렬(adjacency matrix)
2.2 인접 리스트(adjacency list)
2.3 인접 다중 리스트(adjacency multilist)
3. 그래프의 운행
3.1 깊이 우선 탐색
3.2 너비 우선 탐색
4. 최단 경로
4.1 하나의 출발점에서 모든 종착점
4.2 모든 쌍(all-pairs) 최단 경로 문제
4.3 이행적 폐쇄
5. 최소 스패닝 트리
5.1 Prim의 방법
5.2 Kruskal 방법
연습 문제
CHAPTER 7 정렬
1. 정렬의 개요
2. 내부 정렬
2.1 삽입 정렬
2.2 버블 정렬
2.3 셀렉션 정렬
2.4 쉘 정렬
2.5 퀵 정렬
2.6 2-way 병합 정렬
2.7 기수 정렬
2.8 힙 정렬
3. 외부 정렬
3.1 밸런스드 병합 정렬(balanced merge sort)
3.2 다단계 병합 정렬(polyphase merge sort)
3.3 캐스케이드 병합 정렬(cascade merge sort)
3.4 오실레이팅 병합 정렬(oscillating merge sort)
연습 문제
CHAPTER 8 탐색
1. 탐색의 개요
1.1 탐색의 정의
1.2 평균 탐색장
2. 탐색 방법
2.1 선형 탐색, 순차 탐색(Linear, Sequential Search)
2.2 이진 탐색
2.3 피보나치 탐색(Fibonacci Search)
2.4 보간 탐색(Interpolation Search)
2.5 블록 탐색(Block Search)
2.6 이진 탐색 트리에 의한 탐색
2.7 AVL 트리
2.8 B 트리
3. 해싱
3.1 해싱의 개요
3.2 충돌 해결
3.3 평균 탐색 길이
연습 문제
CHAPTER 9 기억장치와 파일 처리
1. 기억장치
1.1 주기억 장치
1.2 보조 기억장치
2. 파일 처리
2.1 파일의 분류
2.2 파일의 편성
연습 문제
CHAPTER 10 기억장소 관리
1. 주기억 장치 관리
1.1 주기억 장치 관리 기법
1.2 주기억 장치 관리상의 문제점 및 해결책
1.3 주기억 장치에서 프로그램과 데이터의 적재 방법
2. 버디 시스템을 이용한 기억장치 관리
3. 피보나치 기억장소 관리
4. 기억장소 관리 최적화 방법
연습 문제