장바구니 담기 close

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

알고리즘

알고리즘

  • 양성봉
  • |
  • 생능출판사
  • |
  • 2013-02-05 출간
  • |
  • 364페이지
  • |
  • 188 X 254 X 30 mm
  • |
  • ISBN 9788970507590
판매가

24,000원

즉시할인가

23,760

배송비

2,500원

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

수량
+ -
총주문금액
23,760

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

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

출판사서평

알고리즘은 알고 보면 재미있다

알고리즘은 문제를 해결하기 위한 단계적인 절차를 의미한다. 흔히 알고리즘을 요리법에 비유하기도 한다. 레시피에 따라 만들어진 요리는 맛도 좋고 시간도 절약된다. 이렇둣 알고리즘도 단계적인 절차를 따라 하면 주어진 문제를 쉽고도 빠르게 해결할 수 있다. 이 책은 이러한 알고리즘을 한 걸음 한 걸음 나아가듯이 단계를 따라 설명하고 있어 빠르고 쉽게 이해할 수 있다.
여러분도 이미 알고 있는, 종이에서 연필을 떼지 않고 그리는 한붓그리기 문제도 알고리즘을 통하면 쉽게 해결할 수 있다. 그리스 신화에 나오는 반수반인의 괴물 미노타우로스에게 잡아먹히지 않게 미로를 빠져나오기 위해서도 알고리즘은 필요하다. 다음은 독이 든 술 단지에 대한 옛날이야기로 이 역시 알고리즘을 통하면 쉽게 해결할 수 있다.

옛날 어느 먼 나라에 술을 매우 즐겨 마시는 임금님이 살고 있었다. 그래서 창고에는 많은 술 단지가 보관되어 있었다. 그런데 어느 날 이웃 나라의 간자가 창고에 들어가서 술 단지 하나에 독을 넣고 나오다가 붙잡혔다. 간자를 추궁하였더니 간자는 눈으로 확인할 수 없는 독을 사용하였고, 어떤 단지인지는 모르지만 하나의 단지에만 독을 넣었다고 실토하고는 스스로 목숨을 끊었다. 간자가 사용한 독의 특징은 독이 든 단지의 술을 아주 조금만 맛보아도 술을 맛본 사람은 정확히 일주일 후에 죽는다는 것이었다. 임금님은 독이 든 술 단지를 반드시 일주일 만에 찾아내라고 신하들에게 명하였다.

자, 여러분은 어떻게 해결할 것인가? 이처럼 이 책은 알고리즘이 재미있는 과목이라는 것을 알기 쉽고 재미있으며, 친절하게 소개하고 있다. 다양하고 재미있는 삽화와 그림을 곁들이면서 내용의 이해를 돕고 있는 것은 물론이다.

알고리즘을 단계적으로 완전 이해한다

컴퓨터를 전공하는 대부분의 학생들에게 알고리즘의 이해는 만만치 않은 어려움이다. 알고리즘의 어려움은 여러 다양한 경우들을 조목조목 ‘따져보는’ 논리적 검토 과정에서 비롯된다. 그러나 실제 알고리즘은 컴퓨터 분야뿐만 아니라 과학, 공학, 경영학 등 광범위한 분야에서 나타나는 많은 중요한 문제들을 해결하는 기본적인 방법들과 직간접적으로 관련되어 있어, 반드시 이해하고 숙달할 필요가 있다.
따라서 이 책은 알고리즘 이해에 있어 가장 기본적이고 공통된 부분을 발췌, 정리하였다. 또한 독자들이 쉽게 이해할 수 있도록 다음의 네 가지 단계를 염두에 두고 설명하였다.

- 주어진 문제에 대한 이해와 분석
- 알고리즘의 핵심 아이디어 유추
- 알고리즘 소개 및 단계별 설명
- 예제 따라 알고리즘 이해하기

주어진 문제가 어떤 특성을 가졌는지를 분석해보면 그 문제를 해결할 알고리즘을 고안하는 실마리를 찾을 수 있다. 이를 통해 알고리즘의 핵심 아이디어를 유추해보면, 알고리즘을 보다 쉽게 이해할 수 있다. 또한 예제를 통해 알고리즘의 수행과정을 상세히 step-by-step으로 보임으로써 알고리즘을 완전히 이해할 수 있도록 하였다. 아울러 시간복잡도를 분석하고, 알고리즘의 효용성을 위해 알고리즘이 실제로 활용되는 사례들을 설명하였다.

■ 이 책의 내용

1장 ‘알고리즘의 첫걸음’에서는 이미 알고 있는 알고리즘들부터 수수께끼같이 재미있는 문제에 대한 알고리즘들을 살펴본다. 2장 ‘알고리즘을 배우기 위한 준비’에서는 알고리즘이란 무엇인가를 알아보고, 최초의 알고리즘인 유클리드의 최대공약수 알고리즘을 소개한다. 또한 3장부터 다루는 알고리즘들을 배울 준비를 위한 알고리즘의 표현 방법, 알고리즘의 분류, 알고리즘의 효율성 표현 방법, 복잡도의 점근적 표기를 소개하고, 마지막으로 왜 효율적인 알고리즘이 필요한가를 설명한다. 3장 ‘분할 정복 알고리즘’에서는 분할 정복(Divide-and-Conquer) 알고리즘으로 해결되는 문제들을 소개하고, 그에 대한 알고리즘들을 설명한다. 합병 정렬(Merge sort), 퀵 정렬(Quick sort), 선택(Selection) 문제, 최근접 점의 쌍(Closest Pair) 찾기 문제를 다룬다.
4장 ‘그리디 알고리즘’에서는 동전 거스름돈(Coin Change), 최소 신장 트리(Minimum Spanning Tree), 최단 경로(Shortest Path), 부분 배낭(Fractional Knapsack) 문제, 집합 커버(Set Cover), 작업 스케줄링(Task Scheduling), 허프만 압축(Huffman Encoding)에 대한 그리디 알고리즘을 각각 소개한다. 5장 ‘동적 계획 알고리즘’에서는 모든 쌍 최단 경로(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 모의 담금질 기법
■ 요약
■ 연습문제

부록
Ⅰ. 재귀 관계의 해 구하는 방법
Ⅱ. 힙 자료구조
Ⅲ. 매칭
Ⅳ. 백트래킹 기법과 분기 한정기법의 추가 문제

저자소개

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

도서소개

『알고리즘』은 알고리즘이 재미있는 과목이라는 것을 알기 쉽고 재미있으며, 친절하게 소개하고 있다. 다양하고 재미있는 삽화와 그림을 곁들이면서 내용의 이해를 돕고 있는 것은 물론이다.

교환 및 환불안내

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