«Грокаем алгоритмы»: обзор самой лучшей книги по алгоритмам

Вот мы и добрались до обзора книги, так любимой многими программистами. И не важно, на каком языке вы пишете — вы обязательно о ней слышали. «Грокаем алгоритмы» научит вас алгоритмически мыслить и думать рационально, что очень важно в программировании.

Python изучили, web-фреймворк Django тоже, про машинное обучение вообще молчим… Но это всё практически бесполезно без знания алгоритмов. Стоит учитывать, что при собеседованиях на Junior позиции, независимо от того, на каком языке вы программируете, будут их спрашивать. А если вы middle или senior dev, то и алгоритмы будут посложнее.

Немного об авторе

Адитья Бхаргава — программист из компании Etsy. В свое время даже получил степень магистра математических наук (а, как вы знаете, алгоритмы и математика неразрывно связаны). В данный момент еще и ведет свой блог с картинками на техническую тематику.

Содержание

Пройдемся по оглавлению, чтобы понять, с чем нам придется работать:

  • Глава 1. Знакомство с алгоритмами — здесь вам расскажут, что такое алгоритмы, их сложность и как ее вычислять. Также, вы мимолетно рассмотрите бинарный поиск.
  • Глава 2. Сортировка выбором — вы узнаете, как работает память, что такое массивы и связанные списки. В заключение напишете алгоритм сортировки выбором.
  • Глава 3. Рекурсия — ответом на вопрос «Что такое рекурсия?» будет «Что такое рекурсия?». Что это значит, поймете в этой главе. А еще рассмотрите стек (Последний Пришел — Первый Ушел).
  • Глава 4. Быстрая сортировка — исходя из названия главы, будет написан одноименный алгоритм. Также вы узнаете немного больше о сложности алгоритмов.
  • Глава 5. Хеш-таблицы — будет разобрано всё, что содержит в себе слово «хеш» (функции, таблицы). Вдобавок разберетесь с коллизиями.
  • Глава 6. Поиск в ширину — курс математического моделирования вам в помощь! Вы рассмотрите графы, реализуете алгоритмы на нем. Поиск в ширину тоже напишете, не зря же главу так назвали:)
  • Глава 7. Алгоритм Дейкстры — Продолжите рассматривать графы. Реализуете свой алгоритм Дейкстры.
  • Глава 8. Жадные алгоритмы — когда большая часть теории позади, можно больше времени уделить упражнениям. В этой главе будет больше практики, чем теории.
  • Глава 9. Динамическое программирование — очень важная тема для любого программиста. Вы научитесь разбивать тяжелые задачи на более простые и пройдете через множество упражнений.
  • Глава 10. Алгоритм k ближайших соседей — вы изучите регрессию и даже немножко затронете машинное обучение.
  • Глава 11. Что дальше? — так как тема алгоритмов довольно обширная, уместить все в одной книге попросту невозможно. Но в 11ой главе будут рассмотрены еще 10 алгоритмов или структур данных более высокой сложности, чем то что вы видели ранее.

А в чем суть?

Книга «Грокаем алгоритмы»отличается от других своим максимально дружелюбным подходом к читателю. Это своеобразная детская книга для взрослых. Множество картинок и упражнений вкупе с манерой подачи материала добьются невероятного эффекта. Примеры сопровождают вас буквально на каждом шагу. А то, что эти примеры взяты из реальной жизни, поможет вам еще быстрее влиться к курс дела и разобраться с тем или иным алгоритмом.

Подведем итоги

Книгу можно смело рекомендовать вообще всем. Те, кто уже программируют, смогут легко разобраться с алгоритмами. Те, кто даже не начинал, смогут очень быстро начать. Иллюстрированные примеры помогут быстро вкатиться в тему, а множество упражнений прочно закрепит ваши знания.

Купить книгу