메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

뇌를 자극하는 알고리즘

한빛미디어

집필서

절판

  • 저자 : 박상현
  • 출간 : 2009-09-04
  • 페이지 : 604 쪽
  • ISBN : 9788979146875
  • 물류코드 :1687
  • 초급 초중급 중급 중고급 고급
3.4점 (5명)
좋아요 : 51

이 책의 목표는 독자를 마지막 페이지까지 가게 하는 것이다

프로그래머에게 자료구조, 알고리즘은 산과 같다. 넘어야 한다는 것을 알기에 오르고 또 오르지만, 정상을 밟기란 쉽지 않다. 배우기가 어렵고 재미도 없기 때문이다. 그래서 많은 프로그래머가 포기한다. 이 책의 목표는 마지막 페이지까지 독자를 가게 하는 것이다. 난이도를 입문자 눈높이에 맞추고 어렵게 느끼지 않도록 친절하게 설명한다. 각 장에서 다루는 개념과 상통하는 재미있는 이야기를 도입부에 넣어서 개념을 쉽게 익히면서 동시에 학습하는 즐거움을 준다. 수식 사용을 줄여서 학습의 부담을 줄이고 그림을 많이 넣어서 이해도를 높였다. 바로 실행하고 확인할 수 있는 소스 코드를 예제로 준비해서 실제로 알고리즘을 어떻게 프로그래밍으로 구현하는지 배울 수 있다. 만약, 당신이 그동안 알고리즘 서적을 읽다가 중도에 포기했다면 마음 편히 알고리즘을 학습하고 더 나아가 배우는 즐거움까지 얻기 바란다.

이 책의 특징

  • 쉽고 재미있게 개념을 익히는 이야기 구조(각 장의 주제를 쉽게 이해시키는 이야기)
  • 수식은 줄이고 그림은 늘린, 입문자를 배려한 구성(수식을 줄여서 학습의 부담을 줄였다)
  • 바로 실행하고 확인할 수 있는 소스 코드(의사코드가 아니다, 실제 구현해볼 수 있는 코드다)

어떤 독자를 위한 책인가?

  • 수학적 지식이 미흡하여 기존 알고리즘 서적에 어려움을 느끼는 학원/학부생
  • 현업에서 알고리즘, 자료구조의 학습 필요성을 느끼고 있는 30대 개발자
  • 그동안 자료구조/알고리즘 서적을 읽다가 중도에 포기했던 독자

추천의 글

단기간에 급격히 발전한 컴퓨터 공학을 이해하는 첫걸음은 알고리즘을 이해하는 것이다. 알고리즘을 잘 이해하려면 이론을 먼저 습득하고, 이를 응용하여 구현할 수 있게 이끌어 주는 책이 필요하다. 이 책은 이론을 복잡한 수식 없이 쉽게 설명하고, 면밀히 검증된 구현 코드를 제공하여 독자들이 분석하고 응용할 수 있게 편의를 제공한다. 난해한 알고리즘을 쉽게 설명했다는 것은 저자가 알고리즘을 독자들에게 쉽고 직관적으로 전달하기 위해 얼마나 고민했는지 보여준다. 또한, 각 알고리즘의 필요성을 재미있는 비유로 독자의 관심을 유발하여, 책을 덮기 전까지 지루함을 느낄 틈을 주지 않는다. 매 장을 읽고 나면 알고리즘뿐 아니라 컴퓨터 전반에 대한 이해가 높아가는 것을 느낄 것이다. 내용과 재미가 모두 충실한 이 책을 여러분에게 주저 없이 추천한다.
:: 서울대학교 언어학과 박사 수료 (전산언어학 전공) 조인식

'뛰어난 개발자'란 어떤 사람인가? 한 사람의 뛰어난 개발자는 평범한 100명이 머리를 싸매고 고민해도 만들어내지 못하는 무언가를 만들어 낸다. 어떻게 해야 뛰어난 개발자가 될 수 있을까? 첫째, 문제 해결을 위한 핵심 이슈를 빠르게 파악하는 분석력이다. 둘째, 최적의 문제 해결 방법을 찾아내는 창의력이다. 셋째, 좋은 성격이다. 많이 듣고 상대방의 이해를 돕고 동의를 끌어낼 수 있어야 한다. 어려운 문제를 만났을 때 포기하지 않고 반드시 성공한다는 확신이 넘쳐야 한다. 그 활력에 주위의 개발자들이 동화된다. 마지막으로 성실하고 부지런해야 한다. 무슨 일을 하든 같겠지만 개발자는 항상 노력해야 한다. 부지런하지 않으면 빠른 변화를 좇기 어렵다. 자 무엇부터 시작해야 할까? 뛰어난 개발자가 되기 위해 가장 먼저 해야 할 것은 기본기를 닦는 것이다. 자료구조와 알고리즘은 개발자에게 무엇보다 중요한 기본기이다. 기본기는 책 한 번 읽었다고 해서 자기 것이 되지 않는다. 반복해서 읽고 실제 문제해결에 적용시켜 보고 응용까지 할 수 있어야 비로소 자기 것이 된다. 이렇게 각인된 기본기가 바탕이 되어 분석력과 창의력이 생긴다. 따라서 자료구조와 알고리즘 서적을 항상 가까이 두고 반복해서 읽어야 한다. 『뇌를 자극하는 알고리즘』은 만만치 않은 내용을 성격 좋은 저자가 활기차게 설명한다. 뒤로 갈수록 뇌에 자극이 심해지겠지만, 완전히 자기 것으로 만들고 나면 다른 세상이 보일 것이다.
:: 유비맵(주) 부사장 윤태호

박상현 저자

박상현

한화시스템에서 방위 분야의 프로그래머로 일하고 있습니다. 최근까지는 방공 무기체계에 탑재되는 소프트웨어를 개발해 왔습니다. 컴퓨터 하드웨어와 소프트웨어 모두를 사랑하는 경력 17년차 엔지니어입니다.

 

대표 저서 (한빛미디어)

『뇌를 자극하는 파이썬 3』(2016)

『뇌를 자극하는 C# 5.0 프로그래밍』(2014)

『뇌를 자극하는 알고리즘』(2009)

 

[1부. 자료구조]
1장. 리스트
01. 링크드 리스트
02. 더블 링크드 리스트 44
03. 환형 링크드 리스트 56
 
2장. 스택
01. 스택 주차장의 추억 69
02. 스택의 주요 기능: 삽입과 제거 70
03. 배열로 구현하는 스택 71
04. 링크드 리스트로 구현하는 스택 79
05. 스택의 응용: 사칙 연산 계산기 89
 
3장. 큐
01. 큐 107
02. 큐의 주요 기능: 삽입과 제거 108
03. 끝은 새로운 시작이다: 순환 큐 109
04. 링크드 큐 121
 
4장. 트리
01. 트리 기초 다지기 133
02. 이진 트리 148
03. 수식 트리 162
04. 분리 집합 173
 
[2부. 알고리즘]
5장. 정렬
01. 콩쥐의 해결책: 정렬 알고리즘 187
02. 버블 정렬 189
03. 삽입 정렬 197
04. 퀵 정렬 202
05. C 표준 라이브러리의 퀵 정렬 함수 213
 
6장. 탐색
01. 데이터를 찾아서 222
02. 순차 탐색 223
03. 이진 탐색 229
04. 이진 탐색 트리 236
05. 레드 블랙 트리 251
 
7장. 우선순위 큐와 힙
01. 우선순위 큐 286
02. 힙 288
03. 힙을 이용한 우선순위 큐의 구현 302
 
8장. 해시 테이블
01. 해시에 대하여 313
02. 해시 테이블: 공간을 팔아 시간을 사다 315
03. 해시 함수 317
04. 충돌 해결하기 325
 
9장. 그래프
01. 그래프를 소개합니다 354
02. 그래프를 어떻게 표현할 것인가? 357
03. 그래프 순회: 그래프를 따라 산책하기 369
04. 위상 정렬 380
05. 최소 신장 트리 391
06. 최단 경로 탐색 413
 
10장. 문자열 검색
01. 고지식한 검색 428
02. 카프-라빈 알고리즘 433
03. KMP 알고리즘 440
04. 보이어-무어 알고리즘 448
 
[3부. 알고리즘 설계 기법]
11장. 알고리즘 성능 분석
01. 알고리즘의 성능에 대하여 467
02. 알고리즘 수행 시간의 분석 469
03. 점근 표기법 470
04. 재귀 알고리즘의 성능 분석 476
 
12장. 분할 정복
01. 아우스터리츠 전투 489
02. 분할 정복 알고리즘 490
03. 분할 정복의 응용 491
 
13장. 동적 계획법
01. 동적 계획법이란 514
02. 피보나치 수 구하기 515
03. 최장 공통 부분 순서 519
 
14장. 탐욕 알고리즘
01. 탐욕 알고리즘에 대하여 535
02. 편의점 점원의 거스름돈 줄이기 537
03. 크루스칼의 최소 신장 트리 알고리즘 다시 보기 542
04. 다익스트라의 최단 경로 알고리즘 다시 보기 545
05. 허프만 코딩을 이용한 데이터 압축 548
 
15장. 백트래킹
01. 백트래킹을 소개합니다 570
02. 미로 탈출로 찾기 574
03. 8개의 퀸 585

Linked list stack에서 그림은 top에서 시작해 list까지 포인터로 연결되어있지만, 코드에서는 list에서 시작해 top이 마지막으로 연결되어있습니다. 그래서 push랑 pop이 엄청 비효율적이게 되어있더라구요. Top에서 시작해서 list까지 포인타로 연결하는거면 push랑 pop이 엄청 간단해집니다. 예제 수정 부탁드립니다.

먼저, 이 책의 어디선가, 독자가 이 책을 끝까지 읽게 만들게 한다는 문구가 기억이 납니다.

이책의 설명이 충분히 이해하기 쉽게 설명되었다고는 생각하지 않습니다.

하지만, 다른 참고서를 조금 뒤적였을 뿐인데, 이 책의 마지막장을 넘기면서, 뭔가 개운하다는 느낌을 받게 하더군요.

사실, 이 책을 읽는 중반 쯤엔, 갑자기 다른 알고리즘 설명을 시작하더니 한참 앞에 나와야 할 설명이 책 후반 쯤에 나와서, 좀 당황 스러웠는데, 그것이 이 책을 끝내고 난 뒤, 개운하다는 느낌을 준 가장 중요한 이유였더군요. 

만약 다른 책들 처럼, 순차적으로 설명을 했었다면, 중간에 물음표를 남기고 다음 단원을 읽었겠죠. 그러다가 그 물음표를 해소할 내용이 뒤에 나오면, 그래서 그랬구나 라는 생각이 들긴 했었겠지만, 여전히 찝찝한 느낌을 떨쳐버리긴 힘들었을 것 같더군요.

마치 이 책의 목차는 위상 정렬을 해놓은 것 같더군요. 그게 이 책을 중간에 놓지 않게 하고, 마지막 책장을 넘길때 개운한 느낌을 준 이유인것 같습니다. 하지만 아쉬운 점도 있습니다. 이 책과  다른 알고리즘 사이트를 병행하면서 보았는데요. 논리적인 설명은 이 책이 더 나은 것 같지만, 코드 적용 설명이나 기억을 지속시켜주는 설명은 부족한듯 합니다. 특히 역사적인 배경을 통해서 알고리즘의 특징을 짚어주신 부분은 무엇을 위해 이 알고리즘을 공부하고 있구나는 계속 상기 시켜주더군요.

절반 읽었는데,, 돈이 참 아깝네요.

수 많은 독자들이 벽이 아닌 벽에 부딛히겠군요.

하지만........

내용은 정말 훌륭합니다.

481쪽 퀵소트 재귀방정식..
T(n) = 2T(1/2) + cn이 아니라,
T(N) = 2T(n/2) + cn인거 같은데요..
오탈자 등록이 안되어있네요..
제가 틀린거면..
미안ㅋ

결제하기
• 문화비 소득공제 가능
• 배송료 : 2,000원배송료란?

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.

닫기

리뷰쓰기

닫기
* 도서명 :
뇌를 자극하는 알고리즘
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
뇌를 자극하는 알고리즘
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
뇌를 자극하는 알고리즘
구입처*
구입일*
부가기호*
부가기호 안내

* 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?

자료실