CHAPTER 1 소프트웨어 개발과 자료구조
1.1 소프트웨어 개발
1.1.1 소프트웨어 개발의 예
1.12 소프트웨어 생명 주기(Software Life Cycle
1.2 자료구조의 개념
1.2.1 자료구조의 개념
1.2.2 좋은 소프트웨어(프로그램란?
1.2.3 프로그램과 자료구조의 관계
1.2.4 자료구조에서 배우는 내용
?정리
?EXERCISE
?프로그래밍 프로젝트
CHAPTER 2 알고리즘과 알고리즘의 성능
2.1 알고리즘
2.1.1 일상생활의 알고리즘의 예
2.1.2 컴퓨터 알고리즘의 예
2.2 정렬과 검색 알고리즘
2.2.1 선택정렬 알고리즘
2.2.2 이진검색 알고리즘
2.3 알고리즘의 성능
2.3.1 공간복잡도(Space Complexity
2.3.2 시간복잡도(Time complexity
2.4 알고리즘 복잡도의 표현법
2.4.1 O-표기법
2.4.2 알고리즘 O(f(n 함수와 함수의 값
?정리
?EXERCISE
?프로그래밍 프로젝트
CHAPTER 3 배열 자료구조
3.1 배열의 개념
3.1.1 배열의 개념
3.1.2 배열과 기억 장소
3.2 포인터 타입
3.3 구조체(struct
3.3.1 구조체
3.3.2 자기참조 구조체(self-referential structures
3.4 희소(Sparce 행렬 - 배열의 응용 예
3.5 다차원 배열의 저장
?정리
?EXERCISE
?프로그래밍 프로젝트
CHAPTER 4 스택과 큐 자료구조
4.1 자료구조와 연산 모델
4.2 스택(Stack
4.2.1 스택의 정의
4.2.2 스택 프로그램 예- C 언어
4.2.3 스택 프로그램 예- Java 언어
4.3 큐(Queue
4.4 원형 큐(circular queue
?정리
?EXERCISE
?프로그래밍 프로젝트
CHAPTER
·자료구조 과목이 대학의 2학년 과정에서 개설되는 추세에 따라 기존의 자료구조 과목에서 가능한 난이도와 분량을 조절하여 이해하기 쉽도록 하였다.
·난이도가 깊은 알고리즘들은 자료구조의 후속 과목인“알고리즘”에서 배운다는 전제 아래 생략하였다.
·알고리즘 기술은 어느 언어나 상관없지만, 구현 언어는 현재 C 언어를 중점으로 하였으며, 앞으로 Java를 추가하여 객체지향 언어에서 자료구조 활용을 이해할 수 있도록 내용을 추가하고 예제를 만들 예정이다.