목차
PREFACE
CHAPTER 1 소프트웨어 개발과 자료구조
1.1 소프트웨어 개발
1.2 자료구조의 개념
정리
EXERCISE
프로그래밍 프로젝트
CHAPTER 2 알고리즘과 알고리즘의 성능
2.1 알고리즘
2.2 정렬과 검색 알고리즘
2.3 알고리즘의 성능
2.4 알고리즘 복잡도의 표현법
정리
EXERCISE
프로그래밍 프로젝트
CHAPTER 3 배열 자료구조
3.1 배열의 개념
3.2 포인터 타입
3.3 구조체(struct)
3.4 희소(Sparce) 행렬 - 배열의 응용 예
3.5 다차원 배열의 저장
정리
EXERCISE
프로그래밍 프로젝트
CHAPTER 4 스택과 큐 자료구조
4.1 자료구조와 연산 모델
4.2 스택(Stack)
4.3 큐(Queue)
4.4 원형 큐(circular queue)
정리
EXERCISE
프로그래밍 프로젝트
CHAPTER 5 스택의 응용
5.1 후위 표기법
5.2 스택을 이용한 후위식 변환
5.3 스택을 이용한 후위식 계산
정리
EXERCISE
프로그래밍 프로젝트
CHAPTER 6 연결 리스트
6.1 포인터 타입(Pointers)
6.2 단순 연결리스트(Singly Linked Lists)
6.3 연결리스트를 이용한 스택과 큐의 구현
6.4 연결리스트 응용
6.5 리스트와 연결리스트(List and Linked List)
정리
EXERCISE
프로그래밍 프로젝트
CHAPTER 7 고급 연결리스트
7.1 원형 연결리스트(Circularly Linked Lists)
7.2 이중 연결리스트(Doubly Linked List)
7.3 연결리스트 알고리즘들
정리
EXERCISE
프로그래밍 프로젝트
CHAPTER 8 트리 자료구조
8.1 트리의 개념
8.2 이진(Binary) 트리
8.3 이진트리의 저장
정리
EXERCISE
CHAPTER 9 트리의 탐색
9.1 이진트리 탐색 알고리즘
9.2 쓰레드(Threaded) 이진트리
9.3 이진트리에 관한 알고리즘
정리
EXERCISE
프로그래밍 프로젝트
CHAPTER 10 정렬
10.1 버블정렬(bubble sort)
10.2 삽입정렬(Insertion Sort)
10.3 퀵정렬(Quick Sort)
10.4 힙정렬(Heap Sort)
10.5 정렬 알고리즘 요약
정리
EXERCISE
프로그래밍 프로젝트
CHAPTER 11 검색 (Search)
11.1 선형검색(linear search)
11.2 이진검색(Binary Search)
11.3 해시검색(Hash Search)
11.4 이진 탐색트리(BST, Binary Search Tree)
11.5 AVL 트리
11.6 B-트리
정리
EXERCISE
프로그래밍 프로젝트
CHAPTER 12 그래프 개념과 그래프 탐색
12.1 그래프의 개념
12.2 그래프의 표현
12.3 그래프 탐색
정리
EXERCISE
CHAPTER 13 그래프의 응용
13.1 스패닝(Spanning) 트리
13.2 최소 스패닝 트리
13.3 최단경로(shortest path) 문제
13.4 이행성 폐포(transitive closure) 문제
정리
EXERCISE
참고문헌