쉽게 배우는 C자료구조

쉽게 배우는 C자료구조

$34.52
Description
코딩을 조금이라도 해 보았다면 프로그래밍이 자료(data)를 주로 다루는 것임을 알 수 있을 것이다. 우리가 프로그램을 개발할 때 가장 먼저 해야 할 일은 처리할 자료를 컴퓨터가 잘 다룰 수 있는 형태로 표현하는 것인데, 이를 다루는 학문이 자료구조(data structure)이다. 이러한 자료구조는 알고리즘을 공부하기 위한 기초 지식이기도 하지만 그 자체로도 매우 중요하다. 특히, 개념 이해와 함께 코딩을 통한 구현 능력을 갖추어야 하는데, 이것 때문에 더 어렵고 까다롭게 느껴진다.
이 책은 입문자들이 쉽고 재미있게 자료구조를 이해하고 구현하며, 문제 해결에 활용할 수 있도록 하였다.
저자

최영규

(崔濚圭)
1989年경북대학교전자공학과공학사
1991年한국과학기술원전기및전자공학과공학석사
1995年한국과학기술원전기및전자공학과공학박사
1995年~1999年LG산전연구소선임연구원
1999年~현재한국기술교육대학교컴퓨터공학부교수
2005年,2012年미국조지워싱턴대,UTSA방문교수

목차

CHAPTER01자료구조와알고리즘
1.1자료구조란?
자료구조의분류
자료구조의구현방법
이책의구성
1.2알고리즘이란?
알고리즘의기술방법
1.3추상자료형
추상자료형이란?
추상자료형의예:다항식
1.4알고리즘의성능분석
실행시간측정방법
알고리즘의복잡도분석
복잡도의점근적표기
최선,평균,최악의경우
복잡도분석의예
연습문제

CHAPTER02배열과구조체
2.1배열
1차원배열
2차원배열
문자열
함수의매개변수로배열전달
2.2구조체
구조체의정의와선언
구조체의연산
구조체를포함하는구조체와구조체배열
구조체와함수
2.3배열과구조체의응용:다항식프로그램
다항식의표현
희소다항식의표현
연습문제

CHAPTER03스택
3.1스택이란?
스택의추상자료형
스택의활용
3.2배열을이용한스택
스택의구현
3.3스택의응용:괄호검사
괄호검사알고리즘
괄호검사프로그램
3.4스택의응용:계산기프로그램
후위표기식의계산
후위표기식계산프로그램
중위표기의후위표기식변환
중위식의후위표기식변환프로그램
3.5시스템스택과순환호출
순환이란?
순환의예:하노이의탑
연습문제

CHAPTER04큐
4.1큐란?
큐의추상자료형
큐의활용
4.2배열을이용한큐
선형큐(linearqueue)
원형큐(CircularQueue)
원형큐의구현
4.3여러개의큐를사용하려면?
4.4덱이란?
덱의추상자료형
배열을이용한덱
원형덱의구현
4.5덱의응용:미로탐색
미로탐색알고리즘
미로탐색의구현
연습문제

CHAPTER05포인터와연결된구조
5.1포인터와동적메모리할당
포인터선언과활용
배열,구조체와포인터
동적메모리할당
5.2동적할당을이용한배열구조의스택
5.3연결된구조란?
배열구조와연결된구조의비교
연결된구조의용어와종류
5.4단순연결구조응용:연결된스택
연결된스택의구현
5.5원형연결구조응용:연결된큐
연결된큐의구현
5.6연결된덱과단순연결구조의한계
이중으로연결된덱
연습문제

CHAPTER06리스트
6.1리스트란?
리스트의추상자료형
6.2배열을이용한리스트
배열구조리스트의구현
6.3단순연결구조의리스트
단순연결리스트의구현
헤드포인터와헤드노드
6.4이중연결구조의리스트
이중연결리스트의구조
이중연결리스트의구현
6.5리스트의응용:맛집웨이팅프로그램
웨이팅프로그램구현
연습문제

CHAPTER07트리
7.1트리란?
트리의용어
트리의표현
트리의다른표현방법들
7.2이진트리
이진트리의종류
이진트리의성질
이진트리의표현방법
7.3이진트리의순회
표준순회
레벨순회
순회의구현
7.4이진트리관련문제들
노드개수구하기
트리의높이구하기
트리를좌우로대칭시키기
노드의레벨구하기
7.5이진탐색트리
탐색연산
삽입연산
삭제연산
이진탐색트리의구현
이진탐색트리의성능
7.6힙트리
힙트리의표현
삽입연산
삭제연산
최대힙의구현
연습문제

CHAPTER08그래프
8.1그래프란?
그래프의종류
그래프용어
그래프의추상자료형
8.2그래프의표현
인접행렬을이용한표현
인접리스트를이용한표현
인접행렬과인접리스트중에서어떤것을사용할까?
8.3그래프탐색
깊이우선탐색
너비우선탐색
그래프탐색의구현
탐색의성능분석
8.4신장트리와최소비용신장트리
최소비용신장트리란?
Prim의MST알고리즘
Kruskal의MST알고리즘
8.5최단경로
Dijkstra의최단경로알고리즘
Floyd의최단경로알고리즘
연습문제

CHAPTER09정렬
9.1정렬이란?
정렬관련용어
9.2선택정렬
선택정렬의구현
9.3삽입정렬
삽입정렬의구현
9.4버블정렬
버블정렬의구현
9.5함수포인터를사용한정렬
9.6병합정렬
정렬된배열의병합
병합정렬의구현
9.7퀵정렬
분할알고리즘
퀵정렬의구현
퀵정렬라이브러리함수
9.8기수정렬
여러자리로이루어진수의정렬
기수정렬의구현
정렬알고리즘의비교
연습문제

CHAPTER10탐색
10.1탐색이란?
10.2순차탐색(sequentialsearch)
순차탐색알고리즘
순차탐색을개선하는방법?
10.3이진탐색(binarysearch)
이진탐색알고리즘
보간탐색(interpolationsearch)
10.4해싱
해싱과오버플로
해시함수
오버플로처리:개방주소법
오버플로처리:체이닝(chaining)
10.5심화학습:트리를이용한탐색
AVL트리란?
AVL트리의삽입연산
AVL트리구축예
AVL트리연산의구현
연습문제

출판사 서평

이책의특징

ㆍ자료구조의개념과동작원리를자세하게설명하였으며,다양한응용을제시하였다.모든코드는실행하고결과를확인할수있도록완전한형태로제공하였다.또한,지루하지않고내용을쉽게이해할수있도록적절한그림들을충분히사용하여최대한쉬운책을만들고자하였다.
ㆍC언어를이용해코드를설명하였다.특히,가장쉽고단계적인방법으로설명하려고노력하였다.이를위해비교적쉬운“배열과구조체”를2장에서먼저학습하고3~4장에서스택과큐의구현에활용하였다.어려운개념인“포인터”는5장부터다루고,스택과큐를연결된구조로다시구현하였다.특히,포인터에대한자신이없어도만들수있는코드가많다는것을보이려고했다.
ㆍ다양한형태의충분한연습문제를수록하였다.모든장에서개념의이해를확인하기위해빈칸채우기,OX,사지선다형문제와단답식이나간단한코딩이필요한문제를함께제공하였다.또한심도있는고찰과더많은코딩이필요한프로그래밍연습문제를통해문제해결능력을기를수있도록하였다.