자료구조는 어렵다고 알려져 있다. 하지만 문제는 어렵다는데 있는 것이 아니다. 어려워도 끝까지 공부할 수 있다면 문제가 되지 않는다. 문제는 끝까지 공부하지 못하는데 있다. 설명이 이치에 맞고 학습의 방법이 올바르다면, 내용이 어려워도 끝까지 공부할 수 있다.
그래서 저자는 말한다. 자료구조를 잘 아는 사람에게 배워야 할 것은 자료구조의 학습방법이다라고 그리고 저자는 본서를 통해서 자료구조를 어떠한 방법으로 어떠한 수준까지 공부해야 하는지를 선배의 입장에서 이야기한다.
윤성우
벤처회사에서 개발자로 일하다가 IT분야의 집필과 강의로 처음 이름이 알려진 그는 2000년대 초반까지는 소프트웨어 아키텍트(Architect)로 일을 하다가, 2004년부터 지금까지 OpenGL-ES 그래픽스 라이브러리의 구현과 3D 가속 칩의 개발 및 크로노스 그룹(모바일 국제 표준화 컨소시엄)의 표준안에 관련된 일에 참여하였다.
또한 핸드폰용 DMB 칩의 개발에도 참여하였으며, 현재는 ㈜액시스소프트의 CTO로 있으면서 웹 기반 솔루션 개발에 관심을 갖고 있다. 시간이 날 때마다 조깅을 하며 다양한 구상을 하는 저자는, 방법론에 근거한 소프트웨어 설계 전문가가 모든 분야에서 활발히 활동하여 소프트웨어 발전에 기여해야 한다는 생각을 갖고 있다.
Chapter 01. 자료구조와 알고리즘의 이해
01-1. 자료구조(Data Structure)에 대한 기본적인 이해
01-2. 알고리즘의 성능분석 방법
프로그래밍 문제의 답안
Chapter 02. 재 귀(Recursion)
02-1. 함수의 재귀적 호출의 이해
02-2. 재귀의 활용
02-3. 하노이 타워: The Tower of Hanoi
Chapter 03. 연결 리스트(Linked List) 1
03-1. 추상 자료형: Abstract Data Type
03-2. 배열을 이용한 리스트의 구현
프로그래밍 문제의 답안
Chapter 04. 연결 리스트(Linked List) 2
04-1. 연결 리스트의 개념적인 이해
04-2. 단순 연결 리스트의 ADT와 구현
04-3. 연결 리스트의 정렬 삽입의 구현
프로그래밍 문제의 답안
Chapter 05. 연결 리스트(Linked List) 3
05-1. 원형 연결 리스트(Circular Linked List)
05-2. 양방향 연결 리스트
프로그래밍 문제의 답안
Chapter 06. 스택(Stack)
06-1. 스택의 이해와 ADT 정의
06-2. 스택의 배열 기반 구현
06-3. 스택의 연결 리스트 기반 구현
06-4. 계산기 프로그램 구현
프로그래밍 문제의 답안
Chapter 07. 큐(Queue)
07-1. 큐의 이해와 ADT 정의
07-2. 큐의 배열 기반 구현
07-3. 큐의 연결 리스트 기반 구현
07-4. 큐의 활용
07-5. 덱(Deque)의 이해와 구현
프로그래밍 문제의 답안
Chapter 08. 트리(Tree)
08-1. 트리의 개요
08-2. 이진 트리의 구현
08-3. 이진 트리의 순회(Traversal)
08-4. 수식 트리(Expression Tree)의 구현
프로그래밍 문제의 답안
Chapter 09. 우선순위 큐(Priority Queue)와 힙(Heap)
09-1. 우선순위 큐의 이해
09-2. 힙의 구현과 우선순위 큐의 완성
프로그래밍 문제의 답안
Chapter 10. 정렬(Sorting)
10-1. 단순한 정렬 알고리즘
10-2. 복잡하지만 효율적인 정렬 알고리즘
프로그래밍 문제의 답안
Chapter 11. 탐색(Search) 1
11-1. 탐색의 이해와 보간 탐색
11-2. 이진 탐색 트리
프로그래밍 문제의 답안
Chapter 12. 탐색(Search) 2
12-1. 균형 잡힌 이진 탐색 트리: AVL 트리의 이해
12-2. 균형 잡힌 이진 탐색 트리: AVL 트리의 구현
Chapter 13. 테이블(Table)과 해쉬(Hash)
13-1. 빠른 탐색을 보이는 해쉬 테이블
13-2. 충돌(Collision) 문제의 해결책
Chapter 14. 그래프(Graph)
14-1. 그래프의 이해와 종류
14-2. 인접 리스트 기반의 그래프 구현
14-3. 그래프의 탐색
14-4. 최소 비용 신장 트리
프로그래밍 문제의 답안
자료구조 학습의 올바른 방법과 목표를 말하고자 합니다!
자료구조는 어렵다고 알려져 있습니다.
하지만 문제는 어렵다는데 있는 것이 아닙니다.
어려워도 끝까지 공부할 수 있다면 문제가 되지 않습니다.
문제는 끝까지 공부하지 못하는데 있습니다.
설명이 이치에 맞고 학습의 방법이 올바르다면,
내용이 어려워도 끝까지 공부할 수 있습니다.
그래서 저자는 말합니다.
자료구조를 잘 아는 사람에게 배워야 할 것은 자료구조의 학습방법이다!
그리고 저자는 본서를 통해서 자료구조를 어떠한 방법으로
어떠한 수준까지 공부해야 하는지를
선배의 입장에서 이야기합니다.
u 부록
12개월간 인터넷 무료강의를 들을 수 있는 쿠폰 제공