장바구니 담기 close

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

알기 쉬운 알고리즘

알기 쉬운 알고리즘

  • 양성봉
  • |
  • 생능출판
  • |
  • 2021-06-14 출간
  • |
  • 424페이지
  • |
  • 190 X 260 mm
  • |
  • ISBN 9788970504896
판매가

25,000원

즉시할인가

24,750

배송비

2,500원

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

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

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

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

출판사서평




개정판의 개선 내용

이 책은 자료구조에 대한 기본 개념을 갖춘 학부 3, 4학년 학생들을 위하여 집필되었으나, 기술고시, 올림피아드와 같은 경시대회를 준비하는 학생들에게도 도움이 될 것이다. 또한 데이터 사이언스, 전자공학, 수학, 경영학을 전공하는 학생들에게는 알고리즘을 스스로 배우고 익힐 수 있는 좋은 입문서가 되리라 생각한다. 독자들이 알고리즘의 기본 개념을 이해함으로써 궁극적으로는 실세계의 어떤 문제가 주어지더라도 그 문제를 분석하고 해결할 수 있는 능력을 가질 수 있게 되기를 바라는 마음이다.

개정판에는 비교적 최신 정렬 알고리즘인 이중 피봇 퀵 정렬과 Tim Sort를 부록 V에 추가하였으며, 정렬 알고리즘들의 성능 비교를 표로 만들어 아울러 추가하였다. 이중 피봇 퀵 정렬은 퀵 정렬 대신에 최신 버전의 Java 언어의 원시 타입 정렬 라이브러리로 사용되고 있으며, Tim Sort는 일반적으로 성능이 다른 정렬 알고리즘보다 우수하여 파이선, 안드로이드, Java 언어의 객체 타입 정렬 라이브러리로 사용되고 있다.

또한 개정판에는 200개가 넘는 새 연습 문제가 추가되었다. 그중에 각 장의 연습 문제의 앞부분에는 기본 개념 파악을 위한 객관식 문제들과 입사 면접시험에 자주 등장하는 문제들로부터 난이도가 비교적 높은 주관식 문제들까지 추가되었다.

이 책의 내용

제1장 알고리즘의 첫걸음
이미 우리가 알고 있는 알고리즘들부터 수수께끼같이 재미있는 문제에 대한 알고리즘들을 살펴본다.

제2장 알고리즘을 배우기 위한 준비
알고리즘이란 무엇인가를 알아보고, 최초의 알고리즘인 유클리드의 최대공약수 알고리즘을 소개하며, 3장부터 다루는 알고리즘들을 배울 준비를 위한 알고리즘의 표현방법, 알고리즘의 분류, 알고리즘의 효율성 표현 방법, 복잡도의 점근적 표기를 소개하고, 마지막으로 왜 효율적인 알고리즘이 필요한가를 설명한다.

제3장 분할 정복 알고리즘
분할 정복(Divide-and-Conquer) 알고리즘으로 해결되는 문제들을 소개하고, 그에 대한 알고리즘들을 설명한다. 합병 정렬(Merge sort), 퀵 정렬(Quick sort), 선택(Selection) 문제, 최근접 점의 쌍(Closest Pair) 찾기 문제를 다룬다.

제4장 그리디 알고리즘
그리디(Greedy) 알고리즘은 top-down 방식으로 최적화 문제를 해결하는 알고리즘이다. 동전 거스름돈(Coin Change), 최소 신장 트리(Minimum Spanning Tree), 최단 경로(Shortest Path), 부분 배낭(Fractional Knapsack) 문제, 집합 커버(Set Cover), 작업 스케줄링(Task Scheduling), 허프만 압축(Huffman Encoding)에 대한 그리디 알고리즘을 각각 소개한다.

제5장 동적 계획 알고리즘
동적 계획(Dynamic Programming) 알고리즘은 최적화 문제를 해결하는 bottom-up 방식의 알고리즘이다. 모든 쌍 최단 경로(All Pairs Shortest Paths), 연속 행렬 곱셈(Chained Matrix Multiplication), 편집 거리(Edit Distance) 문제, 배낭(Knapsack) 문제, 동전 거스름돈(Coin Change) 문제의 동적 계획 알고리즘을 소개한다.

제6장 정렬 알고리즘
기본적인 정렬 알고리즘인 버블 정렬(Bubble sort), 선택 정렬(Selection sort), 삽입 정렬(Insertion sort)을 다루고, 이보다 효율적인 쉘 정렬(Shell sort)과 힙 정렬(Heap sort)을 살펴보며, 특정 환경에서 사용되는 기수 정렬(Radix sort)과 외부정렬(External sort)을 소개한다.

제7장 NP-완전 문제
앞장에서 소개된 대부분의 문제들은 다항식 시간복잡도의 알고리즘으로 해결되나, 실세계에서 많이 응용되는 중요한 문제들은 그러하지 못하다. 이러한 문제들 중에서 대표적인 NP-완전 문제들을 이해하고, 그 문제들 간의 관계를 살펴본다.

제8장 근사 알고리즘
지수 시간복잡도를 가진 NP-완전 문제들에 대한 정확한 해보다는 근사 해
(approximation solution)를 찾는 알고리즘들을 소개한다. 이를 위해 여행자 문제(Traveling Salesman Problem), 정점 커버(Vertex Cover) 문제, 통 채우기(Bin Packing) 문제, 작업 스케줄링(Job Scheduling) 문제, 클러스터링(Clustering) 문제의 근사 알고리즘을 각각 알아본다.

제9장 해 탐색 알고리즘
NP-완전 문제의 해를 탐색하기 위한 다양한 알고리즘을 소개한다. 백트래킹(Backtracking) 기법, 분기 한정(Branch-and-Bound) 기법, 유전자 알고리즘
(Genetic Algorithm), 모의 담금질(Simulated Annealing) 기법을 소개한다.


목차


CHAPTER 01 알고리즘의 첫걸음
1.1 최대 숫자 찾기
1.2 임의의 숫자 찾기
1.3 동전 거스름돈
1.4 한붓그리기
1.5 미로 찾기
1.6 가짜 동전 찾기
1.7 독이 든 술단지
■ 요약
■ 연습문제

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 동전 거스름돈
■ 요약
■ 연습문제

CHAPTER 06 정렬 알고리즘
6.1 버블 정렬
6.2 선택 정렬
6.3 삽입 정렬
6.4 쉘 정렬
6.5 힙 정렬
6.6 정렬 문제의 하한
6.7 기수 정렬
6.8 외부정렬
■ 요약
■ 연습문제

CHAPTER 07 NP-완전 문제
7.1 문제 분류
7.2 NP-완전 문제의 특성
7.3 NP-완전 문제의 소개
7.4 NP-완전 문제들의 활용
■ 요약
■ 연습문제

CHAPTER 08 근사 알고리즘
8.1 여행자 문제
8.2 정점 커버 문제
8.3 통 채우기 문제
8.4 작업 스케줄링 문제
8.5 클러스터링 문제
■ 요약
■ 연습문제

CHAPTER 09 해 탐색 알고리즘
9.1 백트래킹 기법
9.2 분기 한정 기법
9.3 유전자 알고리즘
9.4 모의 담금질 기법
■ 요약
■ 연습문제

부록
Ⅰ. 순환 관계의 해 구하는 방법
Ⅱ. 힙 자료구조
Ⅲ. 매칭
Ⅳ. 백트래킹 기법과 분기 한정 기법의 추가 문제
Ⅴ. 최신 정렬 알고리즘과 정렬 알고리즘의 성능 비교

교환 및 환불안내

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