Algovis — подборка ресурсов с визуализацией алгоритмов

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

Проекты

  • Mathigon (пример: Решето Эратосфена) и бета-сайт


    Симметрия и пространство, числа и паттерны, комбинаторика и логика, вероятность и игры, движение и материя. Красочные и понятные объяснения, а также ответы на интересующие вас вопросы по этим темам вы найдете здесь.
  • Game Mechanic Explorer (прим: Самонаводящиеся ракеты)


    Коллекция конкретных примеров различной игровой механики, алгоритмов и эффектов. Эти примеры реализованы с помощью JavaScript и игрового фреймворка Phaser, но концепции и методы являются общими и могут быть применены к любому игровому движку.
  • Steven Wittens (пример: Как начертить Жюлиа-фрактал - нажимайте стрелочки на слайдшоу)


    Множество интересных статей с картинками, анимациями и примерами кода расскажут вам об многих вещах, которые не часто можно встретить на просторах Интернета.
  • Red Blob Games (пример: Двухмерная видимость)


    Полезный ресурс с кучей интерактивных мини-игр, которые шаг за шагом помогут вам понять как легкие, так и сложные алгоритмы.
  • VisuAlgo (пример: Нахождение минимального остовного дерева)


    Потрясающий сайт с визуализированными алгоритмами. Отличие этого ресурса в том, что он показывает выполнение программы визуально рядом с исполняемым кодом, подсвечивая строки, по которым проходит компилятор на данный момент.
  • Курс по алгоритмам от Khan Academy (пример: Поиск в ширину)


    Khan Academy говорит сама за себя — качественный курс с лекциями и практикой. Деревья, сортировки, рекурсии и многое другое.
  • Интерактивно объяснённый алгоритм Мелькмана


    Как следует из названия, на этом сайте объясняется алгоритм Мелькмана — алгоритм за O(n) времени, который 'выправляет' выпуклости многоугольника, то есть замкнутой непересекающейся ломаной, строя таким образом выпуклую оболочку.

Блоги

  • Блог Setosa (пример: Gridlock vs. Bottlenecks)


    Отличная подборка картинок и анимаций, наглядно показывающих принципы работы алгоритмов, а также объясняющие некоторые теоремы и парадоксы.
  • Блог Emergent Mind (пример: Перцептрон)


    Emergent Mind — это очень полезный блог, в котором посредством анимации показывают процессы зарождения, эволюции и искусственной жизни.
  • Блог Майка Бостока


    Дать понимание работы алгоритмов через их визуализацию — вот главная цель данного ресурса. Также есть перевод части этого ресурса на хабре.
  • Блог Кристофера Олаха (пример: Нейронные сети, Коллекторы и Топология)


    Интересный блог со множеством статей на такие темы, как нейронные сети, рекуррентные нейронные сети, свёрточные нейронные сети, глубинное обучение и так далее.

Интерактивные книги

  • Книга "Природа кода" (прим: Колебания)


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


    В отличие от практически всех книг и учебников, где нам объясняют, как программировать CPU(центральный процессор), "Пиксельные шейдеры" рассказывает о программировании GPU(графический процессор) и дает понимание того, какая у него структура и как он обрабатывает код.
  • Книга "Вероятностные модели познания"


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

Библиотеки и инструменты

  • Tailspin: JavaScript-интерпретатор, который запускает алгоритм, позволяя визуализации считывать локальные переменные. Также записывает историю, чтобы была возможность вернуться на пару шагов назад.
  • Vamonos: Читателю представляют визуализацию алгоритма и его псевдокод, а также немного JS. Кроме того, присутствуют некоторые полезные виджеты для отображения псевдокода, вызова стэка, структур данных и так далее.
  • Algomation: Визуализация алгоритмов, которая использует JavaScript, чтобы контролировать исполнение алгоритма одновременно с выполняемым циклом в браузере.
  • Algorithm Visualizations: Отличный ресурс, позволяющий понять работу структур данных, сортировок, деревьев и многого другого.
  • LaTeX2HTML5: Интерактивное погружение в математические уравнения.
  • Tangle: Tangle — это JavaScript-библиотека для создания страниц с интерактивным контентом. Просто и интересно!

Примеры

Другие статьи по теме

Какие алгоритмы нужно знать, чтобы стать хорошим программистом?

Изучаем алгоритмы и структуры данных правильно

Перевод: Роман Мирзоян
Оригинал сможете найти здесь.

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ

admin
19 июля 2017

10 структур данных, которые вы должны знать (+видео и задания)

Бо Карнс – разработчик и преподаватель расскажет о наиболее часто используе...
admin
21 февраля 2017

Какие алгоритмы нужно знать, чтобы стать хорошим программистом?

Данная статья содержит не только самые распространенные алгоритмы и структу...
admin
29 января 2017

Изучаем алгоритмы: полезные книги, веб-сайты, онлайн-курсы и видеоматериалы

В этой подборке представлен список книг, веб-сайтов и онлайн-курсов, дающих...