Топ-7 книг по алгоритмам на русском языке

1
10973
views

Алгоритмы — это то, что мы делаем, чтобы не делать что-то. По сути это инструкции для выполнения скучных и повторяющихся задач. Задача, решение которой без алгоритмов может занять несколько часов, с алгоритмами решается практически мгновенно, — пишет сайт pythonist.ru.

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

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

1. Грокаем алгоритмы

Автор: Адитья Бхаргава. Год издания: 2017.

Это одна из самых замечательных книг по алгоритмам и структурам данных, к тому же, она отлично подходит для начинающих.

Автор описывает далеко не все структуры данных и алгоритмы, существующие в информатике, но те, которые затрагивает, рассматриваются очень подробно. А это именно то, что нужно новичкам.

Особо стоит отметить, что книга написана очень легким языком, а сложные темы в ней объясняются на простых жизненных примерах. Кроме того, все объяснения сопровождаются тематическими иллюстрациями и графиками (их около 400) — чтобы уж точно всем все стало понятно.

2. Совершенный алгоритм. Основы

Автор: Тим Рафгарден. Год издания: 2019.

Тим Рафгарден — профессор информатики, член института Data Science при Колумбийском университете. Серия книг «Совершенный алгоритм» (англ. Algorithms Illuminated) написана им на основе онлайн-курсов, которые он ведет на платформах Coursera и edX.

Первая часть серии представляет собой доступное введение в основы алгоритмов. Объяснение не привязано к каком-либо языку программирования. В этой книге автор рассматривает асимптотический анализ алгоритмов и нотацию О-большое (а также Омега-большое и Тета-большое), парадигму «разделяй и властвуй», рандомизированные алгоритмы и, конечно, несколько самых известных алгоритмов сортировки.

В этой книге читатели также найдут упражнения на закрепление материала и разборы решений.

3. Совершенный алгоритм. Графовые алгоритмы и структуры данных

Автор: Рафгарден Тим. Год издания: 2019.

Это вторая книга серии «Совершенный алгоритм». В ней рассматриваются такие темы как графы, алгоритм кратчайшего пути Дейкстры, куча и дерево поиска, хеш-таблицы и фильтры Блума. Как и первой части, здесь к объяснениям прилагаются задачи на закрепление материала (с решениями).

4. Алгоритмы для начинающих

Автор: Луридас Панос. Год издания: 2018.

Это учебное пособие предназначено для людей, не имеющих бэкграунда в продвинутых темах математики и информатики. Упор в книге делается на задачи и жизненные примеры. Разбираемые алгоритмы представлены в виде псевдокода и легко могут быть реализованы на любом языке программирования, включая Python.

Чтобы получить наибольшую пользу от этой книги, читатель должен разбираться в основах математики и иметь базовое представление о работе компьютеров. Все остальные необходимые концепции поясняются в самой книге.

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

5. Введение в анализ алгоритмов

Автор: Майкл Солтис. Год издания: 2019.

Это второе, полностью обновленное и переработанное издание книги.

«Введение в анализ алгоритмов» будет отличным учебным руководством и справочником как студентов, так и для разработчиков, ориентированных на создание надежного кода. Материал в книге изложен достаточно сжато, но, тем не менее, он охватывает все необходимые основы.

В книге рассмотрены традиционные для информатики алгоритмы, такие как жадный алгоритм, динамическое программирование, «разделяй и властвуй». Но кроме того автор рассматривает два класса алгоритмов, которые часто выпадают из поля зрения, — рандомизированные и онлайн-алгоритмы (с упором на сами алгоритмы). И это очень кстати, ведь первые повсеместно применяются в криптографии, а вторые необходимы в очень многих областях, от создания ОС до прогнозирования фондового рынка.

6. Алгоритмы: разработка и применение

Авторы: Джон Клейнберг, Эва Тардос. Год издания: 2016.

Авторы этой книги — профессора теории вычислительных систем в Корнелльском университете. Клейнберг специализируется на алгоритмах, связанных со структурой сетей и информации. Его работы лежат в основе поисковых систем интернета. Тардос специализируется на графах и сетевых задачах.

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

В книге рассматриваются (среди прочих) такие темы как основы анализа алгоритмов, графы, жадные алгоритмы, алгоритмы «разделяй и властвуй», динамическое программирование, NP-полнота, аппроксимирующие и рандомизированные алгоритмы.

7. Алгоритмы. Руководство по разработке

Автор: Стивен С. Скиена. Год издания: 2011.

Книга, ставшая классикой. Первое издание вышло еще в 1997 году. Мы представляем вам второе издание, которое было существенно обновлено.

В первой части книги читателю будут предложены для изучения такие темы как анализ алгоритмов, структуры данных, сортировка и поиск, обход графов, комбинаторный поиск, динамическое программирование. Вторая часть представляет собой каталог алгоритмических задач, часто возникающих в реальной жизни. Также в этой книге вы найдете ссылки на рабочие реализации упоминаемых алгоритмов.

1 КОММЕНТАРИЙ

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here