목 차
CHAPTER 01 자료구조와 알고리즘
1.1 자료구조
자료구조의 분류
1.2 알고리즘
프로그램 = 자료구조 + 알고리즘
알고리즘 기술 방법
1.3 추상 자료형
추상화란?
추상 자료형이란?
1.4 알고리즘의 성능 분석
실행시간 측정방법
알고리즘의 복잡도 분석방법
시간 복잡도 함수
빅오표기법
빅오표기법 이외의 표기법
최선, 평균, 최악의 경우
연습문제
프로그래밍 프로젝트
CHAPTER 02 배열과 구조체
2.1 대용량 자료의 처리
2.2 배열
1차원 배열
2차원 배열
함수의 매개변수로서의 배열
2.3 구조체
구조체의 정의와 선언
구조체의 연산
구조체를 포함하는 구조체와 구조체 배열
구조체와 함수
2.4 배열과 구조체의 응용: 다항식 프로그램
다항식의 표현
다항식의 구현
다항식 입력 함수 read_poly()
두 다항식 합 add_poly()
전체 프로그램
희소 다항식의 표현
연습문제
프로그래밍 프로젝트
CHAPTER 03 스택
3.1 스택이란?
스택의 추상 자료형
스택의 활용
스택의 구현 방법
3.2 배열을 이용한 스택
공백상태와 포화 상태 검사
삽입 연산
삭제 연산
3.3 스택의 구현: int 스택
3.4 스택의 구현: 구조체를 저장하는 스택
3.5 괄호 검사
3.6 후위 표기 수식의 계산
3.7 중위 표기 수식의 후위 표기 변환
연습문제
프로그래밍 프로젝트
CHAPTER 04 큐
4.1 큐란?
큐의 추상 자료형
큐의 활용
4.2 배열을 이용한 큐
선형 큐
원형 큐
4.3 원형 큐의 구현
4.4 덱이란?
덱의 추상 자료형
배열을 이용한 원형 덱
4.5 덱의 구현
4.6 큐의 응용: 은행 시뮬레이션
4.7 덱의 응용: 미로 탐색 프로그램
4.8 전역 변수와 객체지향 프로그래밍
C++ 클래스를 이용한 원형큐 구현
C언어의 구조체를 이용한 원형큐 구현
연습문제
프로그래밍 프로젝트
CHAPTER 05 포인터와 연결리스트
5.1 포인터
포인터 선언
포인터의 활용
포인터 연산
포인터와 배열
포인터와 구조체
자체 참조 구조체
포인터 사용시 주의점
5.2 동적 메모리 할당
동적 메모리 할당 라이브러리 함수
포인터와 동적 메모리 할당
5.3 연결 리스트
연결리스트의 구조
연결 리스트의 특징
연결리스트의 종류
5.4 포인터의 응용: 연결리스트로 구현한 스택
|