목차
CHAPTER 01 자료구조와 알고리즘
1.1 자료구조
자료구조란?
자료구조의 분류
1.2 알고리즘
알고리즘이란?
프로그램 = 자료구조 + 알고리즘
알고리즘 기술 방법
1.3 추상 자료형
추상화란??
추상 자료형이란?
추상 자료형과 C++
1.4 알고리즘의 성능 분석
실행 시간 측정 방법
알고리즘의 복잡도 분석 방법
시간 복잡도 함수
빅오 표기법
빅오 표기법 이외의 표기법
최선, 평균, 최악의 경우
1.5 자료구조 표기법
ADT - Class Diagram - C++
UML Diagram
C++
표준 템플릿 라이브러리(STL
연습문제
프로그래밍 프로젝트
CHAPTER 02 배열과 클래스
2.1 배열
배열의 개념
배열의 추상 자료형
1차원 배열
2차원 배열
함수의 파라미터로서의 배열
2.2 클래스
구조체의 개념
클래스와 C++ 문법
교재에서 거의 사용하지 않는 C++ 문법
2.3 배열과 클래스의 응용: 다항식 프로그램
다항식의 추상 자료형
다항식의 표현 방법
다항식 프로그램의 구현
희소 다항식의 표현
연습문제
프로그래밍 프로젝트
CHAPTER 03 스택
3.1 스택의 추상 자료형
스택이란?
스택의 추상 자료형
스택의 활용 예
스택의 구현 방법
3.2 스택의 구현
배열을 이용한 스택의 표현
배열을 이용한 스택의 구현
복잡한 구조의 항목에 대한 스택의 구현
연결 리스트를 이용한 스택
3.3 스택의 응용: 괄호 검사
괄호 검사와 스택
괄호 검사 알고리즘
괄호 검사 프로그램 구현
3.4 스택의 응용: 수식의 계산
수식의 계산과 스택
후위 표기 수식의 계산
후위 표기 수식 계산 프로그램 구현
중위 표기 수식의 후위 표기 변환 알고리즘
중위 표기 수식의 후위 표기 변환
출판사 서평
C++의 복잡한 문법이 아니라 자료구조에 초점을 맞춘 기본서
자료구조(data structure는 전산학 및 컴퓨터공학 분야에서 매우 중요하고 기초적인 과목이다. 하지만 자료구조는 학생들이 상당히 어려워?하는 과목이다. 이 책의 특징은 다음과 같다.
- 자료구조를 구현하기 위해 이 책에서는 객체지향언어인 C++를 이용하였다. C++를 잘 모르면 이 책을 공부할 수 없을까? 물론 아니다. 이 책에서는 C++의 복잡한 문법이 아니라 자료구조에 초점을 맞추기 위해 기본적이고 실용적인 부분들만을 이용하여 설명하였다. 따라서 C ...
C++의 복잡한 문법이 아니라 자료구조에 초점을 맞춘 기본서
자료구조(data structure는 전산학 및 컴퓨터공학 분야에서 매우 중요하고 기초적인 과목이다. 하지만 자료구조는 학생들이 상당히 어려워하는 과목이다. 이 책의 특징은 다음과 같다.
- 자료구조를 구현하기 위해 이 책에서는 객체지향언어인 C++를 이용하였다. C++를 잘 모르면 이 책을 공부할 수 없을까? 물론 아니다. 이 책에서는 C++의 복잡한 문법이 아니라 자료구조에 초점을 맞추기 위해 기본적이고 실용적인 부분들만을 이용하여 설명하였다. 따라서 C 언어를 어느 정도 이해하고 있다면 C++를 잘 알지 못한다고 해서 너무 걱정할 필요는 없다. 각 장에서 자료구조들을 공부하면서 C++ 문법도 하나씩 알아나가자. 물론 C++를 이미 잘 알고 있으면 더욱 좋다. 이 책이 매우 좋은 C++ 복습서가 될 것이다.
- C++는 다양한 기능들을 제공하는 복잡한 언어로 때로는 불필요해 보이는 기능들도 포함한다. 이 책에서는 C++의 문법적인 측면보다는 Java와 같은 대부분의 객체지향언어에서 공통적으로 사용하는 유용한 기법들을 위주로 예제 코드를 작성하였다. 따라서 이 책의 독자들이 책의 내용들을 Java와 같은 다른 객체지향언어에도 쉽게 적용할 수 있도록 노력하였다.
- 2장에서 이 책에서 주로 사용하는 C++ 문법과 그렇지 않은 문법을 구분하였다. 동적