데이터 구조 에센스
이 책의 제목처럼 필수적인 데이터 구조 핵심만 추려서 가능한 쉬운 문장을 통해 표현하려고 노력하였다. 이 책은 데이터 구조를 처음 공부하고자 하는 학생들을 대상으로 한다. C 언어를 한 학기 이상 공부한 학생들은 혼자서도 충분히 이해할 수 있는 수준이라 생각한다. 이 책은 1부와 2부로 나누어져있는데 1부에서는 데이터 구조를 학습하기 전에 반드시 짚고 넘어가야할 C 프로그래밍의 핵심 내용을 포함하여 데이터 구조의 기초를 다루며, 2부에서는 다양한 데이터 구조의 세계를 여러 이론과 예제들을 통해 경험하도록 구성하였다.
Couldn't load pickup availability
출판사 리뷰
출판사 리뷰
목차
목차
CHAPTER 1 데이터 구조의 정의와 표현
1.1 데이터 구조: 데이터를 담는 그릇
1.2 알고리즘
1.2.1 데이터 구조와 알고리즘
1.2.2 프로그램 개발 단계
1.2.3 알고리즘의 조건
1.2.4 알고리즘의 표현
1.3 추상 데이터 타입
1.3.1 데이터 타입
1.3.2 추상 데이터 타입
1.3.3 추상 데이터 타입과 데이터 구조
1.4 데이터 구조의 분류
1.5 포인터
1.5.1 포인터의 기본 개념
1.5.2 포인터 연산자
1.5.3 포인터 매개변수
1.5.4 포인터 사용에서 주의사항
ㆍEXERCISE
CHAPTER 2 알고리즘 분석
2.1 성능 평가
2.2 공간 복잡도
2.3 시간 복잡도
2.3.1 실행 시간 측정
2.3.2 시간 복잡도 함수
2.4 점근 복잡도
2.4.1 점근 분석
2.4.2 점근 표기법
2.4.3 점근 복잡도 쉽게 구하기
2.4.4 최악, 최선, 평균 복잡도
ㆍEXERCISE
CHAPTER 3 복합 데이터 구조: 구조체와 배열
3.1 구조체
3.1.1 구조체 정의와 선언
3.1.2 구조체 연산과 초기화
3.1.3 중첩 구조체
3.1.4 구조체 포인터
3.2 배열
3.2.1 배열이란ㆍ
3.2.2 배열의 선언과 초기화
3.2.3 배열과 포인터
3.2.4 구조체 배열
3.2.5 배열과 함수
3.3 구조체와 배열의 활용: 박스오피스
ㆍEXERCISE
CHAPTER 4 복합 데이터 구조: 연결리스트
4.1 연결리스트의 구조와 표현
4.1.1 배열 vs. 연결리스트
4.1.2 동적 메모리 할당
4.1.3 연결리스트의 기본 구성 요소: 자체 참조 구조체
4.1.4 연결리스트 유형
4.2 단순 연결리스트
4.2.1 단순 연결리스트의 정의와 표현
4.2.2 단순 연결리스트 함수들
4.2.3 노드 생성 함수
4.2.4 연결리스트의 길이 계산 함수
4.2.5 노드 탐색 함수
4.2.6 노드 삽입 함수
4.2.7 노드 삭제 함수
4.2.8 연결리스트 결합 함수
4.2.9 연결리스트의 역순서화 함수
4.3 원형 연결리스트
4.3.1 원형 연결리스트 vs. 단순 연결리스트
4.3.2 원형 연결리스트 함수들
4.3.3 원형 연결리스트의 길이 계산 함수
4.3.4 노드 삽입 함수 : 맨 앞에 삽입
4.3.5 노드 삽입 함수 : 맨 끝에 삽입
4.4 이중 연결리스트
4.4.1 이중 연결리스트의 노드 구조
4.4.2 헤드 노드
4.4.3 이중 연결리스트 함수들
4.4.4 노드 삽입 함수
4.4.5 노드 삭제 함수
4.5 연결리스트 활용: 박스오피스
ㆍEXERCISE
CHAPTER 5 순환 알고리즘
5.1 순환의 기본 개념
5.1.1 순환과 반복
5.1.2 순환 알고리즘의 구조
5.2 팩토리얼 계산
5.3 최대공약수
5.4 피보나치 수
5.5 이진 탐색
5.6 하노이탑
ㆍEXERCISE
PART 2 추상 데이터 구조
CHAPTER 6 리스트
6.1 리스트 ADT
6.2 배열 리스트
6.2.1 배열을 이용한 리스트 구조 정의
6.2.2 배열을 이용한 리스트의 함수
6.2.3 배열을 이용한 리스트의 활용: 박스오피스
6.3 연결된 리스트
6.3.1 연결리스트를 이용한 리스트 구조 정의
6.3.2 연결리스트를 이용한 리스트의 함수
6.3.3 연결리스트를 이용한 리스트의 활용: 박스오피스
ㆍEXERCISE
CHAPTER 7 스택
7.1 스택 ADT
7.1.1 스택의 기본 개념
7.1.2 시스템 스택
7.2 배열 스택
7.2.1 배열을 이용한 스택 구조 정의
7.2.2 배열을 이용한 스택 함수
7.3 연결된 스택
7.3.1 연결리스트를 이용한 스택 구조 정의
7.3.2 연결리스트를 이용한 스택 함수
7.4 스택의 활용: 식의 계산
7.4.1 식의 표기법
7.4.2 중위식을 후위식으로 변환
7.4.3 후위식의 계산
ㆍEXERCISE
CHAPTER 8 큐
8.1 큐 ADT
8.1.1 큐의 기본 개념
8.2 배열 큐
8.2.1 배열을 이용한 큐 구조 정의
8.2.2 배열을 이용한 큐 함수
8.2.3 배열을 이용한 원형 큐 함수
8.3 연결된 큐
8.3.1 연결리스트를 이용한 큐 구조 정의
8.3.2 연결리스트를 이용한 큐 함수
8.4 덱 : 양방향 큐
8.4.1 덱의 기본 개념
8.4.2 덱의 구현
ㆍEXERCISE
CHAPTER 9 트리
9.1 트리
9.1.1 트리의 기본 개념
9.1.2 트리의 용어
9.1.3 트리의 표현
9.2 이진 트리
9.2.1 이진 트리의 정의
9.2.2 특별한 이진 트리
9.2.3 이진 트리의 특성
9.2.4 이진 트리 ADT
9.3 배열 이진 트리
9.4 연결된 이진 트리
9.4.1 연결리스트를 이용한 이진 트리 정의
9.4.2 연결리스트를 이용한 트리 함수
9.5 이진 트리의 순회
9.5.1 전위 순회
9.5.2 중위 순회
9.5.3 후위 순회
9.5.4 레벨 순서 순회
9.5.5 순회의 응용: 식의 계산
9.5.6 순회의 응용: 이진 트리의 노드 개수
9.5.7 순회의 응용: 두 이진 트리의 동일 여부
9.5.8 순회의 응용: 이진 트리의 출력
ㆍEXERCISE
CHAPTER 10 이진 탐색 트리와 히프
10.1 이진 탐색 트리
10.1.1 이진 탐색 트리의 기본 개념
10.1.2 이진 탐색 트리의 탐색
10.1.3 이진 탐색 트리의 삽입
10.1.4 이진 탐색 트리의 삭제
10.1.5 이진 탐색 트리의 높이
10.1.6 이진 탐색 트리 vs. 이진 탐색
10.2 우선순위 큐와 히프
10.2.1 우선순위 큐
10.2.2 히프의 정의
10.2.3 최대 히프의 표현
10.2.4 최대 히프에서의 삽입
10.2.5 최대 히프에서의 삭제
ㆍEXERCISE
CHAPTER 11 그래프
11.1 그래프 ADT
11.1.1 그래프의 기본 개념
11.1.2 그래프의 용어
11.1.3 그래프 ADT
11.2 배열 그래프
11.2.1 인접 행렬
11.2.2 인접 행렬을 이용한 그래프 정의
11.2.3 인접 행렬을 이용한 그래프 함수
11.3 연결된 그래프
11.3.1 인접 리스트
11.3.2 인접 리스트를 이용한 그래프 정의
11.3.3 인접 리스트를 이용한 그래프 함수
11.4 그래프의 탐색
11.4.1 깊이 우선 탐색
11.4.2 너비 우선 탐색
11.4.3 연결 요소
ㆍEXERCISE
CHAPTER 12 가중치 그래프
12.1 가중치 그래프의 표현
12.1.1 비용 인접 행렬
12.1.2 비용 인접 리스트
12.2 최소 신장 트리
12.2.1 신장 트리와 최소 신장 트리
12.2.2 크러스컬의 최소 신장 트리 알고리즘
12.2.3 프림의 최소 신장 트리 알고리즘
12.3 최단 경로
12.3.1 단일 시작점 최단 경로: 다익스트라 알고리즘
12.3.2 모든 쌍 최단 경로: 플로이드-워셜 알고리즘
ㆍEXERCISE
CHAPTER 13 정렬
13.1 정렬의 기본 개념
13.2 삽입 정렬
13.3 선택 정렬
13.4 버블 정렬
13.5 셸 정렬
13.6 합병 정렬
13.6.1 순환 합병 정렬
13.6.2 반복 합병 정렬
13.7 퀵 정렬
13.8 히프 정렬
ㆍEXERCISE
참고문헌
저자
저자
Your payment information is processed securely. We do not store credit card details nor have access to your credit card information.

