자료구조의 이론과 실습 그리고 프로그래밍 예제까지
이 책은 자료구조에 대한 기초적인 이론부터 응용까지 폭 넓게 설명하고 있으며, 깊이 있는 학습을 위해 다양한 프로그래밍 예제와 확인학습, 연습문제를 충분히 넣어 구성하였다. 또한 자료구조와 함께 프로그래밍 설계를 위해 기본적으로 필요한 개념인 알고리즘에 대한 내용도 일부 포함하고 있다.
1장~2장에서는 자료구조의 학습을 위한 기초적인 개념을 설명한다. 3장~5장에서는 배열, 연결리스트, 스택, 큐와 같은 선형 자료구조를 그리고 6장~7장에서는 트리, 그래프와 같은 비선형 자료구조에 대하여 설명한다. 8장~10장에서는 다양한 알고리즘의 개념과 이를 통해 문제해결을 연습해볼 수 있도록 구성하였다.
이현숙
서강대학교 컴퓨터공학과 공학사
포항공과대학교 컴퓨터공학과 공학석사
서강대학교 컴퓨터공학과 공학박사
한국 전자통신연구소(ETRI) 연구원
미국 University of Central Florida(UCF) 컴퓨터공학과 방문연구교수
現 동양미래대학교 컴퓨터소프트웨어공학과 교수
Chapter 01 컴퓨터와 프로그램
1.1 컴퓨터와 데이터
1.2 자료의 표현
1.3 프로그램과 자료구조
1.4 프로그램과 알고리즘
요약정리
연습문제
Chapter 02 프로그래밍 기초
2.1 프로그램 구성요소와 번역과정
2.2 C 프로그램 기초
2.3 프로그래밍 연습
요약정리
연습문제
Chapter 03 배열과 구조체
3.1 배열
3.2 구조체
요약정리
연습문제
Chapter 04 연결리스트
4.1 포인터와 연결리스트
4.2 단순 연결리스트
4.3 원형 연결리스트
4.4 이중 연결리스트
요약정리
연습문제
Chapter 05 스택과 큐
5.1 스택
5.2 큐
5.3 스택과 큐의 응용
요약정리
연습문제
Chapter 06 트리
6.1 트리의 개념과 표현
6.2 이진트리
6.3 트리의 순회
6.4 이진 탐색 트리
요약정리
연습문제
Chapter 07 그래프
7.1 그래프의 정의와 용어
7.2 그래프의 표현
7.3 그래프 탐색
7.4 그래프의 응용
요약정리
연습문제
Chapter 08 알고리즘 이해와 적용
8.1 문제해결과 알고리즘
8.2 알고리즘의 설계
8.3 재귀기법의 적용
8.4 단계적 개선기법의 적용
8.5 상태 전이 분석기법의 적용
요약정리
연습문제
Chapter 09 탐색 알고리즘
9.1 순차탐색
9.2 이진탐색
9.3 트리탐색
요약정리
연습문제
Chapter 10 정렬 알고리즘
10.1 선택정렬
10.2 버블정렬
10.3 삽입정렬
10.4 퀵정렬
10.5 합병정렬
요약정리
연습문제
다양한 프로그램에 자료구조의 개념을 플러스 해보자!
누구나 코딩을 쉽게 할 수 있게 된 요즘, 프로그래밍 언어로 개발되는 프로그램들은 무수히 많지만 소스코드를 열어 보았을 때 구조적으로 짜임새 있게 잘 짜인 프로그램은 많지 않다. 이는 자료구조와 알고리즘에 대한 개념을 확실하게 학습하지 않았기 때문이다. 실무에서 원하는 효율적인 코딩을 하기 위해서는 프로그래밍 스킬에 자료구조와 알고리즘이 더해져야 한다.
이 책은 프로그래밍에 필요한 자료구조와 알고리즘의 개념을 이론적으로 설명하면서 동시에 많은 예제를 가지고 스스로 실습할 수 있도록 구성하였다. 또한 각 챕터의 마지막에 충분한 연습문제를 포함하고 있어 문제풀이를 통해 학습한 내용을 복습해 볼 수 있다. 프로그래밍을 처음 배우는 독자들도 이 책을 통해 학습한다면 문제해결에 적합한 자료구조를 선택하고, 그에 맞는 알고리즘을 설계하여 효율적인 프로그래밍을 할 수 있을 것이다.