이 책은 프로그래머의 기초 지식인 알고리즘을 이론적인 접근과 구현을 다루고 있습니다.
알고리즘은 문제를 해결하기 위한 논리의 집합이예요. 문제 해결 방법으로 분류하면 반복 알고리즘, 재귀 알고리즘, 분할 정복, 동적 프로그래밍, 탐욕 알고리즘 등이 있죠.
컴퓨터 프로그래밍을 업무로 하는 이들에게 알고리즘은 실질적인 구현에서 필수적으로 필요합니다. 그리고 이들을 다루는 책은 매우 다양하죠.
이론으로 접근하는 책들은 다양한 알고리즘을 다루지만 실질적인 구현없이 추상적으로 소개할 때가 많습니다. 그리고 실질적인 구현도 다루는 책들은 아주 기초적인 알고리즘을 중심으로 다루고 있어요.
알고리즘은 문제 해결 방법에 따라 반복 알고리즘, 재귀 알고리즘, 분할 정복 알고리즘, 동적 프로그래밍, 탐욕 알고리즘 등을 소개하고 직접 구현하는 과정을 다룰 것입니다.
이 책 또한 의사 결정 알고리즘처럼 전문적인 알고리즘을 비롯하여 초보자들이 접근하기 어려운 부분은 다루지 않습니다. 보다 탄탄한 프로그래밍 실력을 다지기 위해 알고리즘을 익히고자 하는 많은 이들에게 도움이 되길 바랄게요.