이 책은 프로그래밍적 사고와 알고리즘의 학습과 훈련을 위한 교재이다. 특정 프로그래밍 언어에 대한 능숙한 사용과 달리 프로그래밍을 잘 하기 위해서는 수학적이고 논리적인 사고과정을 필요로 한다. 컴퓨터 알고리즘에 관한 100여가지 선별된 프로그래밍 경시대회 문제로 문제 해결능력과 두뇌훈련에 도움이 되도록 구성되었다. 프로그래밍 대회를 준비하는 학생들의 실습문제로는 물론 알고리즘이나 자료구조의 학습을 위해 다양하게 사고하고 다양한 상황에 대처하는 문제 풀이용으로도 사용할 수 있다.
프로그래밍 경시대회 중 가장 큰 대회라고 할 수 있는 ACM 국제 대학생 프로그래밍 경시대회, 국제 정보 올림피아드, 탑코더 경시대회를 준비하할 수 있도록 하였다. 경시대회에서 우수한 성적을 거두기 위해 알고리즘에 대한 이해는 물론 코딩실력도 뒷받침 해 주어야 한다. 그러기 위해서 이 책의 각 장에서는 다양한 유형의 문제를 해결하기 위해 필요한 자료 구조와 알고리즘에 대해 설명하고, 그 내용을 사용하여 풀어낼 수 있는 문제들을 소개하고 있다. C언어로 여러 핵심적인 알고리즘을 구현해놓았기 때문에 알고리즘을 이해하고 실제로 구현하는 데도 어려움 없이 이해할 수 있을 것이다. (C언어 외에 파스칼이나 C++, 자바 등을 사용하는 사람들도 이해할 수 있을 만한 방식으로 구현되어 있다.)