ㆍ 이 책에서 다루는 내용
- 기하학적 애플리케이션에 사용할 보로노이 다이어그램 생성하기
- 알고리듬을 사용해 간단한 챗봇을 구축하고, 보드 게임에서 승리하고, 스도쿠 퍼즐을 풀기
- 함수의 최대값과 최소값을 찾기 위한 경사 상승과 하강 알고리듬 코드 작성하기
- 모의 담금질(simulated annealing을 사용해서 전역 최적화 수행하기
- 개인의 특성에 따라 행복을 예측하는 의사 결정 트리 구축하기
- 알고리듬을 사용해서 코드 디버깅, 수익 극대화, 난수 생성하기
- 알고리듬의 효율성과 속도 측정하기
ㆍ 이 책의 대상 독자
이 책은 고등학교나 학부 수준의 알고리듬, 컴퓨터 과학 또는 프로그래밍 입문 수업에 적합하다. 파이썬에 익숙해지길 원하는 개발자나 엔지니어, 컴퓨터 과학의 기초를 더 많이 배우고 알고리듬적으로 사고해서 코드를 개선하는 방법을 배우려는 개발자를 비롯한 여러 유형의 전문가들은 이 책에서 가치 있는 기술을 얻을 수 있을 것이다. 또한 관심을 가진 아마추어들이 읽기에도 적합하다. 알고리듬은 삶의 거의 모든 부분에 영향을 미치고 있다. 이 책을 읽는 사람이라면 주변 세계에 대한 감탄할 만한 최소한의 무언가를 찾을 수 있을 것이다.
ㆍ 이 책의 구성
이 책은 현존하는 모든 알고리듬의 모든 측면을 다루지는 않는다. 단지 소개할 뿐이다. 읽고 나면 알고리듬이 무엇인지 확실히 이해하고, 중요한 알고리듬을 구현하는 코드를 작성하는 방법을 알고, 알고리듬 성능을 판단하고 최적화하는 방법을 이해하게 될 것이다. 또한 현재 전문가들이 사용하는 가장 인기 있는 많은 알고리듬에 익숙해질 것이다. 각 장은 다음과 같이 구성된다.
1장, ‘알고리듬을 사용한 문제 해결’에서는 공을 잡는 방법에 대한 문제를 해결하고, 인간 행동을 지배하는 잠재의식 알고리듬의 증거를 찾고, 알고리듬의 유용성과 설계 방법을 논의한다.
2장, ‘역사 속의 알고리듬’에서는 고대 이집트인과 러시아 농부가 어떻게 숫자를 곱했는지, 고대 그리스인이