단순히 컴퓨터를 이용하는 일반 사용자가 아닌 컴퓨터를 전공하기 위해 전산학을 공부하는 이들에게는 컴퓨터를 이용하여 데이터를 처리할 때 데이터를 저장하는 방법, 이를 처리하는 방법에 따라 데이터를 저장하는 기억 공간의 효율성 문제와 처리하는데 걸리는 시간이 서로 다르게 되고 이는 컴퓨터를 사용하여 문제 해결을 하는데 있어서 매우 중요한 개념이 된다. 이와 같이 컴퓨터를 이용하여 정확한 결과를 신속하게 얻어내기 위해 효율적인 알고리즘과 이에 걸맞는 자료 구조의 선택이 중요하다고 말할 수 있다.
자료 구조란 이러한 전반적인 개념을 다루는 학문으로 데이터의 구조를 파악하여 데이터의 선택, 저장 방법, 데이터의 정렬, 데이터의 검색 방법 등을 통하여 파일을 효율적으로 관리하는 각종 알고리즘을 배우는데 그 목적이 있다.
본 교재에서는 알고리즘을 표현하는데 있어서 특정한 프로그램 언어를 이용하지 않고 일반적인 알고리즘 표현법을 사용하였으며, 그 이유는 특정한 프로그램 언어를 배우지 않은 학생들이 쉽게 이해하도록 하기 위함이었다.
또한 본 교재의 특징은 각 장이 끝날 때마다 각 장에 중요한 개념들을 따로 묶어서 요약 부분을 만들었으며, 다양한 연습 문제를 수록하여 기사 시험에 대비하도록 하였다. 전체적인 구성은 모두 9장으로 되어 있으며, 제9장에서는 자료 구조의 내용은 아니지만 기사 시험의 자료 구조 부분으로 묶여서 출제되는 데이터베이스에 관한 내용을 간략하게 추가하였다. 각 장의 내용은 다음과 같다. 제1장 자료 구조의 개념과 표현, 제2장 알고리즘, 제3장 선형 리스트, 제4장 제한된 선형 리스트, 제5장 비선형 구조, 제6장 정렬, 제7장 검색, 제8장 파일 구조, 제9장 데이터베이스로 되어 있다.
제1장에서는 자료 구조의 기본 개념과 자료의 유형, 자료의 표현 방법, 스트링에 대해서 기술하였다. 제2장에서는 알고리즘의 조건, 알고리즘 언어, 표현 방법 등에 대해 기술하였다. 제3장에서는 배열, 행렬, 순차 리스트 구조 및 처리 방법, 각종 연결 리스트의 구조 및 처리 방법에 대해서 기술하였다. 제4장에서는 선형 리스트의 일종이나 제한된 의미를 지닌 구조인 스택, 큐, 데큐의 구조, 처리 과정 등에 대해서 기술하였다. 제5장에서는 비선형 구조인 트리 구조, 그래프 구조의 각종 개념, 표현 방법, 운행 방법 등에 대해서 기술하였다. 제6장에서는 자료를 순서대로 재배치 하는 정렬에 대해서 주기억 장치를 이용한 내부 정렬의 각종 방법들과 보조 기억 장치를 이용한 외부 정렬의 각종 방법들에 대해 기술하였다. 제7장에서는 키값을 비교하면서 원하는 자료를 찾아가는 검색의 각종 방법들과 키값을 가지고 직접 자료를 찾는 형식의 해싱에 대해서 기술하였다. 제8장에서는 파일의 분류 방법 및 종류, 기억 장치의 종류, 파일 편성 방법, 자료의 각종 코드에 대해서 기술하였다. 제9장에서는 데이터베이스의 기본 개념에 대해서 기술하였다. 그리고 마지막으로 과년도 정보 처리 기사 2급의 자료 구조 문제를 기술하여 공부하는데 있어 도움을 주고자 했다.
지난 10년간 강단에서 자료 구조를 강의한 경험을 토대로 되도록이면 한 학기에 끝마칠 수 있도록 교재의 내용을 최대한 집약시킬려고 노력하였으나 여러 가지 미비한 점과 부족한 점들이 있다고 생각된다. 이러한 점들을 빠른 시일내에 수정.보안하여 드릴 것을 약속하며 본 교재가 자료 구조를 배우는 모든 이들에게 조금이나마 도움이 되기를 기원합니다.
끝으로 출판을 맡아주신 삼진출판사 사장님 이하 모든 분들께 감사드리며, 본인을 지금까지 길러주신 부모님과 본 교재를 집필하는 동안 여러 가지 불편함을 잘 참아주고 옆에서 열심히 내조를 아끼지 않은 사랑하는 아내에게 감사를 드리며, 또한 지금까지 곁에서 물심양면으로 지도해 주시고 도와주신 모든 분들에게 감사를 드립니다.
제1장 자료 구조의 개념과 표현 1.1 개요 1.2 자료 구조의 기본 개념 1.3 자료의 표현 1.4 스트링
제2장 알고리즘의 개요 2.1 개요 2.2 알고리즘 조건 2.3 알고리즘 언어 2.4 알고리즘 언어 표현법 2.5 프로그래밍의 개발 2.6 프로그램의 효율성 분석
제3장 선형 리스트 3.1 개요 3.2 순차 리스트 3.3 연결 리스트
제4장 제한된 선형 리스트 4.1 개요 4.2 스택 4.3 큐 4.4 데큐
제5장 비선형 자료 구조 5.1 개요 5.2 트리 5.3 그래프
제6장 정렬 6.1 개요 6.2 내부 정렬 6.3 외부 정렬
제7장 검색 7.1 개요 7.2 검색 방법 7.3 해싱
제8장 파일 구조 8.1 개요 8.2 파일의 종류 8.3 파일의 매체 8.4 파일 편성 방법 8.5 자료의 코드
제9장 데이터베이스 9.1 개요 9.2 데이터베이스의 논리 구조 9.3 데이터베이스 시스템 구성 9.4 데이터베이스 관리 시스템 9.5 데이터베이스 모형 9.6 데이터베이스 설계