책소개
이 책은 딱딱한 알고리즘 이론서가 아니다. 대신 실전 프로그래밍을 업으로 삼고 있는 독자와 함께 가볍게 ‘수다’를 떨면서 우리가 매일 수행하는 ‘일’이 얼마나 재미있는지, 얼마나 아름다운지, 그리고 얼마나 창조적인지를 일깨워주고, 또 문제를 해결해야 하는 상황에 처했을 때 해결 능력을 길러줄 수 있는 지침서다.
저자소개
서울대학교에서 수학을 전공하고, 인디애나 주립대학에서 컴퓨터 사이언스를 공부했다. 삼성SDS, 뉴저지 소재 루슨트테크놀로지스에서 근무했고 지금은 월스트리트에 있는 회사에서 금융소프트웨어를 개발하고 있다.
뉴저지에서 아내와 두 딸과 함께 살고 있다. 『누워서 읽는 퍼즐북』(2010), 『프로그래밍은 상상이다』(2008), 『뉴욕의 프로그래머』(2007), 『소프트웨어 산책』(2005), 『나는 프로그래머다』(2004), 『누워서 읽는 알고리즘』(2003), 『행복한 프로그래밍』(2003, 이상 한빛미디어), 『프로그래머 그 다음 이야기』(공저, 2011, 로드북) 등 다양한 도서를 집필하였으며, 『읽기 좋은 코드가 좋은 코드다』(2012)를 번역하였다.
목차
1장. 재즈로 여는 아침의 향기
__ 첫 번째, 누워서 읽는 알고리즘
__ 두 번째, 퍼즐로 풀어 보는 알고리즘의 세계
__ 세 번째, 데이터 구조 정의하기
__ 네 번째, P를 출력하는 프로그램 P
__ 다섯 번째, 숨어 있는 버그를 찾아라
__ 여섯 번째, 톡톡 튀는 알고리즘 만들기
__ 일곱 번째, 팰린드롬의 세계
__ 여덟 번째, 콘웨이의 둠스데이 알고리즘
2장. 록과 함께하는 정오의 활기
__ 첫 번째, 정렬 알고리즘
__ 두 번째, 검색 알고리즘과 최적화 문제
__ 세 번째, 동적 프로그래밍
__ 네 번째, 해시 알고리즘
__ 다섯 번째, 사운덱스 검색 알고리즘
__ 여섯 번째, 수도사 메르센느
__ 일곱 번째, 프로그래머가 느끼는 성취감의 본질
__ 여덟 번째, 문학적 프로그래밍
3장. 하드코어로 달아오르는 뜨거운 오후
__ 첫 번째, 유클리드 알고리즘
__ 두 번째, 재귀의 마술
__ 세 번째, 리베스트, 샤미르, 에이들맨의 수학 게임
__ 네 번째, RSA 알고리즘
__ 다섯 번째, 잠깐 쉬어 가기
__ 여섯 번째, RSA 알고리즘 - 계속
__ 일곱 번째, 세 줄짜리 펄 프로그램
__ 여덟 번째, 해커들이 작성한 시(詩) 이해하기
__ 아홉 번째, 두 줄짜기 RSA 알고리즘
4장. 클래식으로 마무리하는 차분한 저녁
__ 첫 번째, N개의 여왕 문제
__ 두 번째, 눈으로 풀어 보는 N개의 여왕 문제
__ 세 번째, 문제 속에 숨어 있는 단편적인 알고리즘
__ 네 번째, 재귀와 스택
__ 다섯 번째, 제프 소머즈의 알고리즘
__ 여섯 번째, 비트 연산자 복습하기
__ 일곱 번째, 2의 보수
__ 여덟 번째, 제프 소머즈 알고리즘 분석
참고 문헌 및 웹사이트
이 책에서 소개한 알고리즘