Skip to content

Latest commit

 

History

History
145 lines (108 loc) · 10.5 KB

references.md

File metadata and controls

145 lines (108 loc) · 10.5 KB

Дополнительные материалы

Здесь можно найти дополнительные материалы для изучения алгоритмов и структур данных. Здесь представлена как книги, так и интернет ресурсы, такие как сайты, репозитории, плейлисты и YouTube каналы.

Книги

  • Искусство программирования. Д. Кнут
  • Алгоритмы. Построение и анализ. Т. Кормен, Ч. Лейзерсоном, Р. Ривест, К. Штайн
  • Совершенный алгоритм. Основы. Т. Рафгарден
  • Совершенный алгоритм. Графовые алгоритмы и структуры данных. Т. Рафгарден
  • Совершенный алгоритм. Жадные алгоритмы. Т. Рафгарден
  • Совершенный алгоритм. Алгоритмы для NP-трудных задач. Т. Рафгарден
  • Алгоритмы и структуры данных. Н. Вирт
  • Problem Solving with Algorithms and Data Structures
  • Problem Solving with Algorithms and Data Structures (Рус)

Блоги, статьи, сайты

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

Краткий курс по алгоритмам и языку Си. Больше не обновляется

Интерактивная визуализация принципов теории вероятностей.

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

Сервис визуализации алгоритмов и структур данных. Визуализация соотноситься с пошаговым выполнением кода.

Сервис работы с графами (направленные, ненаправленные, взвешенные и нет), возможность запустить разные алгоритмы на графах.

Сервис визуализации алгоритмов поиска пути. Позволяет настраивать алгоритмы, рисовать препятствия.

Еще один сервис интерактивной визуализации алгоритмов поиска пути.

Сервис интерактивных визуализаций с объяснениями тех или иных вещей.

Обширный справочник по лабиринтам. Классификация с примерами, алгоритмы генерации и решения все это вы надета тут.

Перевод статьи Eller's Algorithm с подробным разбором алгоритма Эйлера.

Статья про алгоритмы генерации лабиринтов с пошаговыми примерами и реализацией на Lua.

Описание алгоритмов генерации случайных лабиринтов с пошаговой визуализацией и реализацией на Lua.

Разбор Jump Point Search - одного из алгоритмов поиска пути.

Репозитории

Репозиторий содержит широкий спектр реализаций алгоритмов и структур данных на JavaScript. Каждый алгоритм имеет описание на нескольких языках, в наличии русский язык.

Библиотека алгоритмов поиска пути в графах. См. визуализацию.

Исходники сервиса Pathfinding Visualizer. См. визуализацию.

Туториал по Pathfinding Visualizer.

Генератор лабиринтов и поиск пути на C++ openFrameworks c с хорошим описанием.

Плейлисты

Курс отличается от аналогов разбором реализаций алгоритмов и структур данных в коде на C++. Большое внимание уделяется сортировкам. Во второй части рассматриваются хеш-таблицы, кучи, деление чисел и др.

Записи семинарских занятий предыдущего курса. В первом занятии рассматриваются асимптотики алгоритмов, частично рассматривается язык C++, подробно разбирается быстрое преобразование Фурье.

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

Записи семинарских занятий предыдущего курса. Рассматриваются контейнеры в стандартной библиотеке stl.

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

В курсе рассматривается работа со строками (поиск подстрок и построение суффиксных деревьев); задачи вычислительно геометрии (оболочки, триангуляция и др.); кроме этого в наличии лекции по k-d деревьям, графам, преобразованию Фурье и длинной арифметике.

Каналы:

Анимация работы алгоритмов и пояснения принципов их работы. Из интересного: поиск столкновений, БПФ, БФС, теория графов.

Много курсов по алгоритмам и структурам данных.