Больше рецензий
23 марта 2020 г. 18:43
8K
5
РецензияПосле неудачных попыток преодолеть хотя бы сотню страниц книги по алгоритмам, которую все и вся в один голос советуют как лучшее для начинающих ( «Алгоритмы. Построение и анализ» ), где чуть ли не с первых страниц на читателя обрушивается поток математических формул, от которых мозг вскипает и начинают шевелиться волосы, а от самого текста веет тоской и грустью университетских лекций, я решила, что алгоритмы - это тяжело, непонятно и не мое. И что, может быть, когда-нибудь, но точно не в этот раз.
И какое же было мое удивление, когда я открыла эту книгу и... понеслось. Я даже не заметила, как прочитала треть, и мне было интересно двигаться дальше и дальше. Яркие примеры, большое количество картинок и практически отсутствие каких-то сложных формул и математических выкладок - это идеально для понимания и усваивания того, как эти самые алгоритмы работают! А реальные примеры (из жизни или из готовых проектов) показывают, ЗАЧЕМ вообще нужен конкретный алгоритм и решается та или иная задача с его применением. Более того, в книге еще есть множество упражнений (с ответами), на которых можно закрепить пройденный материал и проверить, насколько он реально был усвоен.
Примеры кода даны на Python, и хоть синтаксис выглядит непривычно, но все достаточно понятно и вполне можно переложить на любой другой язык.
В книге рассмотрены:
- бинарный поиск
- понятие О-большое - для чего применяется и как высчитывается
- сортировка выбором и быстрая сортировка
- различные структуры данных, такие как массивы, связанные списки и хеш-таблицы, а также понятным языком объясняется, что такое графы и какие они бывают
- поиск в ширину
- алгоритм Дейкстры
- жадное программирование
- алгоритм k ближайших соседей
Более того, автор на этом не останавливается и рассказывает, что можно изучить дальше и какие именно алгоритмы можно посмотреть для каких именно задач (и которые не вошли в эту книгу).
Несмотря на такую, казалось бы, "ненаучность" книги (тут же так много картиночек!), все главы хорошо структурированы и в конце каждой главы дается короткое обобщение и упражнения на усвоение материала.
Думаю, более научные книги по алгоритмам будут усваиваться лучше после прочтения и освоения этой.
Обязательно рекомендую к прочтению начинающим программистам, продолжающим программистам (без профильного образования) и всем любопытствующим.
ЗЫ: ах да! Наконец-то, благодаря этой книге, я поняла, чем стек отличается от очереди :)
Комментарии