나에게 필요한 지식과 기술을 검색해 보세요.

누워서 읽는 알고리즘

지은이

임백준

출간일

2003.12.27

레벨

초중급

평점

4.6(8명)

정가

12,000

판매가

10,800

총 결제 금액

10%

10,800

적립 예정

540P

알고리즘 가볍게! 재밌게! 맛있게!
알고리즘은 외우는 것이 아니라 생각하는 것이다!

이 책은 딱딱한 알고리즘 이론서가 아니다. 그렇다고 독자에게 감동과 재미를 주는 에세이도 아니다. 오히려 맛있는 읽을 거리를 만들기 위해서 알고리즘과 같은 기술적인 내용을 ‘동원한’ 책이다. 새로운 알고리즘 이론을 소개하는 것도, 독자에게 알고리즘을 ‘강의’하는 것도 아니다. 실전 프로그래밍을 업으로 삼고 있는 독자와 함께 가볍게 ‘수다’를 떨면서 우리가 매일 수행하는 ‘일’이 얼마나 재미있는지, 얼마나 아름다운지 그리고 얼마나 창조적인지, 또 문제를 해결해야 하는 상황에 처했을 때 해결 능력을 길러주기 위한 지침서이다. 현실세계와 유사한 재미있는 퀴즈 문제로 독자의 흥미를 유도하기도 하고 때로는 딱딱한 수학 문제로 긴장감을 고조시킨다. 지저분한 펄 코드가 등장하기도 하며 깔끔하고 읽기 쉬운 C 코드 또한 자주 등장한다. 정렬이나 탐색 리스트 등의 정통 알고리즘도 책의 곳곳에 녹여 부었다. 책을 읽는 도중 삽화나 특이한 그림을 보는 재미 또한 쏠쏠하다는 점도 이 책의 부수적인 장점이다.


[ 누가 봐야 하는가 ]

알고리즘은 딱딱하고 고리타분하고 어떤 틀이 정해져 있어 그냥 외워야 한다고 생각하는 독자가 많다. 그러나 알고리즘이란 최적의 문제 해결 방법을 도출해내는 것으로, 외우는 것이 아니라 생각하는 것이다. 알고리즘 하면 알레르기가 일어나는 독자가 볼 만한 책이다.


[ 책 내용 중에서 ]

『행복한 프로그래밍: 컴퓨터 프로그래밍 미학 오디세이』가 나온 지 반 년 만에 두 번째 책인 『누워서 읽는 알고리즘』의 서문을 쓰게 되었다. 이전 책과 비교했을 때 기술적인 깊이를 향해 ‘반걸음’ 정도 다가간 시도라고 볼 수 있다. 다가간 정도가 ‘한걸음’이 아니라 ‘반걸음’인 이유는 분명하다. ‘행복한 프로그래밍’이라는 제목에서 방점이 ‘프로그래밍’이 아니라 ‘행복한’이라는 형용사에 찍혀 있었던 것처럼 ‘누워서 읽는 알고리즘’에서 방점은 ‘알고리즘’이 아니라 ‘누워서 읽는’에 찍혀 있기 때문이다. 필자의 하루에서 가장 행복한 순간은 모든 일과를 마치고 손에 가벼운 소설을 (혹은 만화책을) 들고 잠자리에 들 때다. 여기에서 ‘누워서 읽는’이라는 표현은 그와 같이 가장 편하고 행복한 순간을 채워 주는 ‘맛있는’ 읽을 거리를 의미한다.
─ 저자 서문 중에서

이 책은 어렵고 복잡한 알고리즘을 ‘쉽게 풀어서’ 설명한 책이 아니다. 오히려 맛있는 읽을 거리를 만들기 위해서 알고리즘과 같은 기술적인 내용을 ‘동원한’ 책이다. 새로운 알고리즘 이론을 소개하는 것도, 독자에게 알고리즘을 ‘강의’하는 것도 아니다. 저자는 실전 프로그래밍을 업으로 삼고 있는 독자와 함께 가볍게 ‘수다’를 떨면서 우리가 매일 수행하는 ‘일’이 얼마나 재미있는지, 얼마나 아름다운지 그리고 얼마나 창조적인지 재확인하고 있다.

짧은 시간이 흐르고, 화면에 나타난 결과를 보았을 때 필자의 가슴은 그만 철렁 내려앉고 말았다. 화면에 나타난 것은 정상적인 페이지가 아니라 페이지 수가 이미 최대 값에 도달했으므로 더 이상의 페이지를 열 수 없다는 에러 메시지였다. 모든 경우에 대해서 완벽하게 동작하는 것처럼 보였던 알고리즘 안에 조용히 숨어 있던 버그가 드디어 모습을 드러낸 순간이었다.
─ "재즈로 여는 아침의 향기" 중에서

저자

목차

머리말

1장. 재즈로 여는 아침의 향기
     01. 누워서 읽는 알고리즘
     02. 퍼즐로 풀어 보는 알고리즘의 세계
     03. 데이터 구조 정의하기
     04. P를 출력하는 프로그램 P
     05. 숨어 있는 버그를 찾아라
     06. 톡톡 튀는 알고리즘 만들기
     07. 팰린드롬의 세계
     08. 콘웨이의 둠스데이 알고리즘

2장. 록과 함께 하는 정오의 활기
     01. 정렬 알고리즘
     02. 검색 알고리즘과 최적화 문제
     03. 동적 프로그래밍
     04. 해시 알고리즘
     05. 사운덱스 검색 알고리즘
     06. 수도사 메르센느
     07. 프로그래머가 느끼는 성취감의 본질
     08. 문학적 프로그래밍

3장. 하드코어로 달아오르는 뜨거운 오후
     01. 유클리드 알고리즘
     02. 재귀의 마술
     03. 리베스트, 샤미르, 에이들맨의 수학 게임
     04. RSA 알고리즘
     05. 잠깐 쉬어 가기
     06. RSA 알고리즘 - 계속
     07. 세 줄짜리 펄 프로그램
     08. 해커들이 작성한 시(詩) 이해하기
     09. 두 줄짜리 RSA 알고리즘

4장. 클래식으로 마무리하는 차분한 저녁
     01. N개의 여왕 문제
     02. 눈으로 풀어 보는 N개의 여왕 문제
     03. 문제 속에 숨어 있는 단편적인 알고리즘
     04. 재귀와 스택
     05. 제프 소머즈의 알고리즘
     06. 비트 연산자 복습하기
     07. 2의 보수
     08. 제프 소머즈 알고리즘 분석

참고 문헌 및 웹사이트
이 책에서 소개한 알고리즘

리뷰

오탈자

12,000

10%

10,800