장바구니 담기 close

장바구니에 상품을 담았습니다.

자료구조의 이해

자료구조의 이해

  • 양성봉
  • |
  • 생능출판사
  • |
  • 2017-08-08 출간
  • |
  • 472페이지
  • |
  • 190 X 240 mm
  • |
  • ISBN 9788970509228
판매가

25,000원

즉시할인가

24,750

배송비

2,500원

(제주/도서산간 배송 추가비용:3,000원)

수량
+ -
총주문금액
24,750

이 상품은 품절된 상품입니다

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평

컴퓨터를 전공하는 학생들에게 자료구조는 아무리 강조해도 지나치지 않을 만큼 중요한 전공과목이다. 컴퓨터 전공의 근간이 되는 프로그래밍 언어를 잘 이해하고 있더라도 자료구조에 대한 기본지식 없이 실제 응용을 위한 효율적인 소프트웨어를 작성하는 것은 거의 불가능하기 때문이다. 이는 한글을 배우자마자 시나 소설을 쓸 수 없는 것과 같은 이치이다.

이 책은 필자가 지난 30여 년간의 강의 경험을 바탕으로 자료구조의 이해에 있어 가장 기본적이고 공통된 부분을 발췌, 정리함과 동시에 최신 주제인 좌편향(Left-Leaning) 레드블랙트리, Tim Sort와 이중피벗퀵정렬(Dual Pivot Quick Sort), 소셜네트워크분석(Social Network Analysis)의 응용을 추가하였다. 본서는 기존 서적들에서 공통적으로 강조하고 있는 포인터 개념, 연결리스트, 스택, 큐, 트리 앞 부분 등은 기본적인 개념 위주로 설명하고, 자료구조의 핵심이라 할 수 있는 탐색트리, 해싱, 우선순위큐, 정렬, 그래프를 심도 있게 다루며, 아울러 최신 자료구조를 추가로 소개한다.

이 책은 자바 언어에 대한 기본 개념을 갖춘 학부 2학년 학생들을 위하여 집필되었으나, 변리사 및 기술고시의 준비서로서도 충실한 역할을 할 것이며, 올림피아드와 같은 경시대회를 준비하는 학생들에게도 도움이 될 것이다. 또한 전자공학, 수학, 생명공학, 경영학을 전공하는 학생들에게는 자료구조를 스스로 배우고 익힐 수 있는 좋은 입문서가 되리라 생각한다. 독자들이 자료구조의 기본 개념을 이해함으로써 궁극적으로는 실세계에서 어떤 문제와 마주하더라도 효율적으로 문제를 해결하는 프로그램을 작성할 수 있게 되기를 바란다.

[이 책의 주요 특징]
이 책은 독자들의 쉬운 이해를 위해 대부분의 자료구조를 다음의 다섯 단계에 따라 설명한다.
1. 주어진 자료구조에 대한 이해
2. 핵심 아이디어 소개
3. 예제
4. 자바 프로그램
5. 수행시간 분석

기본적으로 각 자료구조의 필요성을 소개하고, 자료구조를 이해하는데 도움이 되는 핵심 아이디어를 살펴본다. 또한 자료구조에 대한 예제를 통해 이해를 도우며, 자바 프로그램으로 구현한 자료구조를 제시하고, 수행시간을 분석한다. 아울러 자료구조의 응용 및 활용분야를 살펴보고, 대부분의 자바 프로그램을 Eclipse 통합 개발 환경에서 실제로 실행시킨 결과 화면 또한 보여준다. 단, 몇몇 자료구조들에 대한 자바 프로그램은 너무 길어 생략하였고 개념 위주로 서술하였다.

[이 책의 주요 내용]
제1장 자료구조를 배우기 위한 준비에서는 자료구조와 추상 데이터 타입, 수행시간의 분석, 수행시간의 점근 표기법, 자바 언어의 기본 지식, 그리고 순환에 대해 살펴본다.
제2장 리스트에서는 배열, 단순연결리스트, 이중연결리스트, 원형연결리스트를 설명한다.
제3장 스택과 큐에서는 스택, 큐, 데크 자료구조를 다룬다.
제4장 트리에서는 일반적인 트리, 이진트리, 이진트리에서의 순회 및 기타 기본적인 연산, 집합을 위한 트리 연산으로서 Union-Find 연산을 각각 소개한다.
제5장 탐색트리에서는 이진탐색트리, AVL트리, 2-3트리, 레드블랙트리(Left Leaning Red Black Tree), B-트리를 소개하며, 특히 이진탐색트리, AVL트리, 레드블랙트리는 자바 프로그램을 통하여 상세히 설명한다.
제6장 해시 테이블에서는 해시함수, 출동 해결 방법으로 선형조사, 이차조사, 랜덤조사, 이중해싱, 체이닝을 배우고, 새로운 충돌 해결방식인 융합해싱(Coalesced Hashing), 2-방향 체이닝(Two-Way Chaining), 뻐꾸기 해싱(Cuckoo Hashing) 을 소개하며, 재해싱과 동적해싱을 각각 살펴본다.
제7장 우선순위큐에서는 이진힙과 그의 응용인 허프만 압축 알고리즘을 소개하고, Leftist힙, Skew힙, 이항힙(Binomial Heap), 피보나치힙(Fibonacci Heap)을 각각 소개한다.
제8장 정렬에서는 기본적인 정렬알고리즘인 선택정렬, 삽입정렬을 다루고, 이보다 효율적인 쉘정렬, 합병정렬, 퀵정렬, 힙정렬을 살펴보며, 정렬 문제의 하한을 알아보고, 특정 환경에서 사용되는 기수정렬과 외부정렬을 소개한다. 또한 비교적 최근에 소개되었고 자바, 파이선, 안드로이드의 시스템 정렬로 채택된 이중피벗퀵정렬(Dual Pivot Quicksort)와 Tim Sort는 부록에서 소개한다.
제9장 그래프에서는 깊이우선탐색, 너비우선탐색을 공부하고, 기본적인 그래프 알고리즘인 위상정렬, 이중연결 성분, 강연결성분 알고리즘을 살펴본다. 또한 Kruskal, Prim, Sollin의 최소신장트리 알고리즘을 소개하고, Dijkstra, Bellman-Ford, Floyd-Warshall 최단경로 알고리즘을 이해하고 분석하며 마지막으로 그래프의 응용으로서 소셜네트워크분석(Social Network Analysis)의 중심성(Centrality)과 커뮤니티 찾기(Community Detection)를 소개한다.

부록에서는 상각분석(Amortized Analysis)을 상세히 알아보고, 자바 메모리를 살펴보며, 자바의 가비지 컬렉션(Garbage Collection)의 여러 가지 방법들을 소개한다. 또한 이진탐색트리와 관련된 이진탐색을 소개하며, 4장의 이진트리를 위한 자바 프로그램을 제공하며, TimSort와 이중피벗퀵정렬(Dual Pivot Quick Sort)을 살펴보며, 최소신장트리 알고리즘들이 항상 정확한 해를 리턴하는 지를 Cut Property의 증명을 통하여 알아본다..

목차

CHAPTER 01 자료구조를 배우기 위한 준비
1.1 자료구조와 추상데이터타입
1.2 수행시간의 분석
1.3 수행시간의 점근표기법
1.4 자바 언어에 대한 기본적인 지식
1.5 순환
요약
연습문제

CHAPTER 02 리스트
2.1 배열
2.2 단순연결리스트
2.3 이중연결리스트
2.4 원형연결리스트
요약
연습문제

CHAPTER 03 스택과 큐
3.1 스택
3.2 큐
3.3 데크(Deque)
요약
연습문제

CHAPTER 04 트리
4.1 트리
4.2 이진트리
4.3 이진트리의 연산
4.4 상호배타적 집합을 위한 트리 연산
요약
연습문제

CHAPTER 05 탐색트리
5.1 이진탐색트리
5.1.1 이진탐색트리 클래스
5.1.2 탐색 연산
5.1.3 삽입 연산
5.1.4 최솟값 찾기
5.1.5 최솟값 삭제 연산
5.1.6 삭제 연산
5.2 AVL트리
5.2.1 AVL트리의 회전연산
5.2.2 삽입 연산
5.2.3 삭제 연산
5.3 2-3 트리
5.3.1 탐색 연산
5.3.2 삽입 연산
5.3.3 삭제 연산
5.4 레드블랙트리
5.4.1 레드블랙트리 클래스
5.4.2 탐색 연산
5.4.3 레드블랙트리의 기본 연산
5.4.4 삽입 연산
5.4.5 최솟값 삭제 연산
5.5 B-트리
5.5.1 탐색 연산
5.5.2 삽입 연산
5.5.3 삭제 연산
5.5.4 B-트리의 확장
요약
연습문제

CHAPTER 06 해시테이블
6.1 해시테이블
6.2 해시함수
6.3 자바의 hashCode()
6.4 개방주소방식
6.4.1 선형조사
6.4.2 이차조사
6.4.3 랜덤조사
6.4.4 이중해싱
6.5 폐쇄주소방식
6.6 기타 해싱
6.7 재해시와 동적해싱
6.8 해시방법의 성능 비교 및 응용
요약
연습문제

CHAPTER 07 우선순위큐
7.1 이진힙
7.2 허프만 코딩
7.3 기타 우선순위큐
7.3.1 Leftist 힙
7.3.2 Skew 힙
7.3.3 이항힙
7.3.4 피보나치힙
요약
연습문제

CHAPTER 08 정렬
8.1 선택정렬
8.2 삽입정렬
8.3 쉘정렬
8.4 힙정렬
8.5 합병정렬
8.6 퀵정렬
8.7 정렬의 하한 및 정렬알고리즘의 비교
8.8 기수정렬
8.9 외부정렬
요약
연습문제

CHAPTER 09 그래프
9.1 그래프
9.1.1 그래프 용어
9.1.2 그래프 자료구조
9.2 그래프 탐색
9.2.1 깊이우선탐색
9.2.2 너비우선탐색
9.3 기본적인 그래프 알고리즘
9.3.1 위상정렬
9.3.2 이중연결성분
9.3.3 강연결성분
9.4 최소신장트리
9.4.1 Kruskal 알고리즘
9.4.2 Prim 알고리즘
9.4.3 Sollin 알고리즘
9.5 최단경로 알고리즘
9.5.1 Dijkstra 알고리즘
9.5.2 Bellman-Ford 알고리즘
9.5.3 Floyd-Warshall 알고리즘
9.6 소셜네트워크 분석
요약
연습문제

부록
I 상각분석
II 자바 메모리
III 가비지 컬렉션
IV 이진탐색
V 이진트리 프로그램
VI 이중피벗퀵정렬과 Tim Sort
VII Cut Property

저자소개

저자 양성봉은
연세대학교 공과대학, 학사
University of Oklahoma, 컴퓨터과학, 석사
University of Oklahoma, 컴퓨터과학, 박사
현재 연세대학교 컴퓨터과학과 교수

도서소개

『자료구조의 이해』 필자가 지난 30여 년간의 강의 경험을 바탕으로 자료구조의 이해에 있어 가장 기본적이고 공통된 부분을 발췌, 정리함과 동시에 최신 주제인 좌편향(Left-Leaning) 레드블랙트리, Tim Sort와 이중피벗퀵정렬(Dual Pivot Quick Sort), 소셜네트워크분석(Social Network Analysis)의 응용을 추가하였다. 본서는 기존 서적들에서 공통적으로 강조하고 있는 포인터 개념, 연결리스트, 스택, 큐, 트리 앞 부분 등은 기본적인 개념 위주로 설명하고, 자료구조의 핵심이라 할 수 있는 탐색트리, 해싱, 우선순위큐, 정렬, 그래프를 심도 있게 다루며, 아울러 최신 자료구조를 추가로 소개한다.

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.