На распродаже издательства Питер решил прикупить себе бумажных книг по программированию. Старался выбрать что-то не привязанное к конкретному языку программирования. Понравилась по описанию книга «Гроккаем алгоритмы» Адитьи Бхаргавы. Подумал, что она будет как раз кстати для меня, как человека, изучавшего алгоритмы в институте, но напрочь всё забывшего за 8 лет отсутствия практики их использования. Вместе с этой книгой была также куплена книга «Чистый код» Роберта Мартина, но она ещё ждёт своей очереди.
«Гроккаем алгоритмы» это книга, рассказывающая о базовых алгоритмах, определении их сложности и структурах данных простым и максимально доходчивым языком с использованием картинок, примеров из жизни и небольшого количества псевдокода и кода на Питоне, но правда только для начальных алгоритмов. Каждая глава посвящена какой-то одной концепции, с постепенно нарастающей сложностью. Адитья старается объяснить всё на пальцах и ему это удаётся. Книга читается легко и даёт понимание на фундаментальном уровне. Например, описание рекурсии и стека, Очень наглядно описано, почему рекурсия может привести к переполнению стека и что поэтому иногда лучше использовать простые циклы и для чего существует оптимизация хвостовой рекурсии.
Эту книгу можно рассматривать как отличный вход в мир алгоритмов. В этом плане интересна ещё последняя глава, где кратко описываются не затронутые в книге алгоритмы и области их применения: хеш-функции для криптографии, преобразования Фурье, MapReduce, фильтры Блума и многое другое.
Посыл книги — заинтересовать в алгоритмах и дать направления для дальнейшего изучения этой области, выполнен отлично. Для тех, кто интересуется этой темой и не знает с чего начать — рекомендую.