Книга представляет собой перевод учебника по подготовке к международным соревнованиям по программированию, написанный по материалам АСМ - олимпиад.
Это бестселлер, признанный Journal of Object Technology как "Лучшая книга 2003 г.". 14 глав книги охватывают все основные категории задач международных соревнований. Каждая глава содержит необходимое теоретико-алгоритмическое введение, разбор типовых задач и серию тренировочных заданий уровня ACM.
Поддержка книги осуществляется сайтом: http://www.programming-challenges.com, а также популярным тренировочным сайтом http://online-judge.uva.es. "Эта книга вызывает восхищение любого, кто способен оценить красивую программу или кто имеет интерес к решению задач, структурам данных или алгоритмам…" - таков отзыв о книге известного теоретика и практика программирования, тренера сборной ACM A. M.Тененбаума, опубликованный в ACM Computing Reviews вскоре после ее выхода в свет. Так ли это - предоставляется судить читателю.
Книга предназначена для учащихся, их преподавателей и тренеров, а также других специалистов, интересующихся олимпиадным программированием и алгоритмами.
A bunch of mostly elementary programming puzzles, which I wanted to rummage for interview questions. I think that the authors of a programming book who advise their readers, "Make Your Arrays a Little Larger Than Necessary — Off-by-one errors are a particularly subtle and tricky class of bugs. Clear thinking and discipline are the right way avoid them. [sic] But thinking is hard and memory is cheap. We find it a useful crutch to define arrays one or two elements larger than should be necessary so as to minimize the consequences of any off-by-one error," should be drawn and quartered (or fifthed).
I'll admit, I haven't solved all the problems in the book.
So, this book in the era of Leetcode, Hackerrank and the like might look obsolete. But, here the problems are well thought of whereas some of the problems of Hackerrank are not well defined. Surely a very interesting collection of computer science problems, touching effectively every known subfield of CS out there.
Plus, you can still submit your solutions at [1] and get judged by the bot. So, using this book and [1], you have a Hackerrank of top quality problems that will better your problem solving skills for sure.
I've read this book when I was preparing to programming competitions while still in high school. Although it doesn't have advanced concepts it's very practical and in my opinion good way to start participating in programming contests,