이론부터 실전까지,
자료구조와 알고리즘 학습의 결정판!
이 책은 기초 개념부터 알고리즘 최적화와 고급 응용까지, 핵심 내용을 폭넓고 깊이 있게 다룬다. 각 주제는 ‘개념 이해–원리 탐구–구현 완성’의 흐름에 따라 구성되며, 작동 원리를 직접 구현하고 성능을 분석하는 과정을 통해 사고력을 탄탄히 기를 수 있다. 처음 배우는 이에게는 균형 잡힌 입문서로, 중·고급 개발자에게는 깊이 있는 참고서로 활용될 수 있다.
* 본 도서는 대학 강의용 교재로 개발되어 연습문제 풀이는 제공하지 않고 힌트만 예제 소스와 함께 제공합니다.
CHAPTER 01 파이썬 입문
1.1 파이썬 개요
1.2 파이썬 언어의 객체
1.3 표현식, 연산자, 우선순위
1.4 제어 흐름
1.5 함수
1.6 간단한 입력과 출력
1.7 예외 처리
1.8 이터레이터와 제너레이터
1.9 파이썬의 다른 유용한 특징들
1.10 범위와 네임스페이스
1.11 모듈과 import 명령문
1.12 연습 문제
CHAPTER 02 객체 지향 프로그래밍
2.1 목표, 원칙, 패턴
2.2 소프트웨어 개발
2.3 클래스 정의
2.4 상속
2.5 네임스페이스와 객체 지향
2.6 얕은 복사와 깊은 복사
2.7 연습 문제
CHAPTER 03 알고리즘 분석
3.1 실험 기반 성능 분석
3.2 이 책에서 사용된 일곱 가지 함수
3.3 점근적 분석
3.4 간단한 증명 기법들
3.5 연습 문제
CHAPTER 04 재귀
4.1 주요 사례
4.2 재귀 알고리즘 분석하기
4.3 잘못된 재귀 사용
4.4 재귀의 추가 사례
4.5 재귀 알고리즘 설계하기
4.6 꼬리 재귀 제거하기
4.7 연습 문제
CHAPTER 05 배열 기반 시퀀스
5.1 파이썬의 시퀀스 유형
5.2 저수준 배열
5.3 동적 배열과 분할 지불
5.4 파이썬 시퀀스 타입의 효율성
5.5 배열 기반 시퀀스 사용
5.6 다차원 데이터셋
5.7 연습 문제
CHAPTER 06 스택, 큐, 양방향 큐
6.1 스택
6.2 큐
6.3 양방향 큐
6.4 연습 문제
CHAPTER 07 연결 리스트
7.1 단일 연결 리스트
7.2 순환 연결 리스트
7.3 이중 연결 리스트
7.4 포지션 리스트 ADT
7.5 포지션 리스트의 정렬
7.6 사례 연구: 접근 빈도 관리
7.7 배열 기반 시퀀스와 연결 기반 시퀀스
7.8 연습 문제
CHAPTER 08 트리
8.1 일반 트리
8.2 이진 트리
8.3 트리의 구현
8.4 트리 순회 알고리즘
8.5 사례 연구: 표현식 트리
8.6 연습 문제
CHAPTER 09 우선순위 큐
9.1 우선순위 큐 추상 데이터 타입
9.2 우선순위 큐 구현
9.3 힙
9.4 우선순위 큐를 사용한 정렬
9.5 적응형 우선순위 큐
9.6 연습 문제
CHAPTER 10 맵, 해시 테이블, 스킵 리스트
10.1 맵과 딕셔너리
10.2 해시 테이블
10.3 정렬된 맵
10.4 스킵 리스트
10.5 집합, 다중 집합, 다중 맵
10.6 연습 문제
CHAPTER 11 검색 트리
11.1 이진 검색 트리
11.2 균형 검색 트리
11.3 AVL 트리
11.4 스플레이 트리
11.5 (2, 4) 트리
11.6 레드-블랙 트리
11.7 연습 문제
CHAPTER 12 정렬과 검색
12.1 정렬 알고리즘 학습의 필요성
12.2 병합 정렬
12.3 퀵 정렬
12.4 알고리즘 관점에서 살펴본 정렬
12.5 정렬 알고리즘 비교하기
12.6 파이썬의 내장 정렬 함수
12.7 선택
12.8 연습 문제
CHAPTER 13 텍스트 처리
13.1 풍부한 디지털화된 텍스트
13.2 패턴 매칭 알고리즘
13.3 동적 프로그래밍
13.4 텍스트 압축과 그리디 기법
13.5 트라이
13.6 연습 문제
CHAPTER 14 그래프
14.1 그래프
14.2 그래프를 위한 자료구조
14.3 그래프 순회
14.4 전이적 폐쇄
14.5 방향 비순환 그래프
14.6 최단 경로
14.7 최소 스패닝 트리
14.8 연습 문제
CHAPTER 15 메모리 관리와 B- 트리
01 운영체제의 정의와 학습 방법
02 운영체제 간략 역사
요점 정리 | 퀴즈
부록 A 파이썬의 문자열
부록 B 유용한 수학 개념
프로그래밍 기초와 객체 지향 설계(1–2장)
파이썬 문법과 객체 지향 프로그래밍의 기본 개념을 설명하며, 이후 자료구조 구현을 위한 기반을 다진다.
알고리즘 분석과 재귀(3–4장)
알고리즘의 성능을 평가하는 데 필요한 분석 기법과 재귀 호출의 구조 및 구현 방법을 다룬다.
핵심 자료구조와 알고리즘(5–13장)
배열 기반 시퀀스, 스택과 큐, 연결 리스트, 트리, 우선순위 큐, 해시 테이블, 검색 트리, 정렬, 텍스트 처리 등 핵심 주제를 폭넓게 다루며, 각 자료구조의 구현 방식과 성능 특성, 응용 사례를 함께 제시한다.
그래프, 고급 주제와 시스템 연계(14–15장)
메모리 계층 구조, 캐시, 외부 저장 기반의 B‑트리 등 자료구조의 실제 시스템 연계 측면을 다루며, 하드웨어 수준의 이해를 바탕으로 응용력을 확장한다.
문자열 처리와 수학적 배경 지식(부록 A–B)
학습을 보완하는 참고 자료로 부록을 제공한다. 부록 A에서는 파이썬의 문자열 처리 기능을 정리하고, 부록 B에서는 알고리즘 분석에 필요한 지수, 로그, 점근 표기, 확률 등의 수학 개념을 요약한다.
자료명 | 등록일 | 다운로드 |
---|---|---|
![]() |
2025-07-08 | 다운로드 |
Introduction To Algorithms(4판)
토마스 코멘 , 찰스 레이서손 , 로날드 르베스트 , 클리포드 스타인