Здесь можно найти дополнительные материалы для изучения алгоритмов и структур данных. Здесь представлена как книги, так и интернет ресурсы, такие как сайты, репозитории, плейлисты и 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 деревьям, графам, преобразованию Фурье и длинной арифметике.
Анимация работы алгоритмов и пояснения принципов их работы. Из интересного: поиск столкновений, БПФ, БФС, теория графов.
Много курсов по алгоритмам и структурам данных.