# | Название видеоурока | Видео / Тесты | Решило | Рейтинг | Доступ |
---|---|---|---|---|---|
1 |
![]() |
|
|||
В этой серии уроков мы познакомимся с гениальным алгоритмом X Дональда Кнута - Dancing Links. Этот алгоритм можно применять для решения самых разных комбинаторных задач, например, разложение Пентамимо, решение Судоку, размещение ферзей и так далее. Статья Дональда Кнута: https://arxiv.org/pdf/cs/0011047v1.pdf Обзорная статья на Хабре: https://habrahabr.ru/post/194410/ Отчёт отправил: 7119. Новопашин Владимир Выполнено за 17 мин. [Показать отчёт] Научился: Узнал про алгоритм танцующих ссылок Сложности: Сложно понять простоту. Комментарии: Идем дальше. |
|||||
2 | Работа алгоритма |
|
|||
Мы продолжаем знакомство с гениальным алгоритмом X Дональда Кнута - Dancing Links. На этом уроке мы пошагово рассмотрим статью на Хабре. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 15 мин. [Показать отчёт] Научился: Научился вручную использовать алгоритм X Сложности: Я раньше так делал, когда собирал пентамино. Комментарии: Очень важный и полезный курс! Спасибо Евгению Витольдовичу. |
|||||
3 | Двусвязный список с удалением |
|
|||
Мы продолжаем знакомство с гениальным алгоритмом X Дональда Кнута - Dancing Links. На этом уроке мы пошагово рассмотрим статью автора данного алгоритма и рассмотрим пошаговое удаление и возвращение элемента. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 1 час. 00 мин. [Показать отчёт] Научился: Научился циклическим спискам. Сложности: Ничего Комментарии: Гениально. Просто супер. Единственное - нужно хранить все ссылки . Я в восторге от B.L.R = B.R B.R.L = B.L |
|||||
4 | Расширение хоровода |
|
|||
Мы продолжаем знакомство с гениальным алгоритмом X Дональда Кнута - Dancing Links. На этом уроке мы наконец приступим к реализации двусвязного списка на языке C#. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 30 мин. [Показать отчёт] Научился: Научился работать с алгоритмом X посредством C# Сложности: Поначалу запутался, потом вдумчиво посмотрел видео и стало все ясно. Комментарии: Мне прям какой-то танец это напоминает с L.R или с R.L . |
|||||
5 | Заголовки столбцов |
|
|||
Мы продолжаем знакомство с гениальным алгоритмом X Дональда Кнута - Dancing Links. На этом уроке мы реализуем перемещение вверх/вниз для реализации четырёх-связного списка, так же создадим класс Header(), чтобы знать в каком столбце мы находимся. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 20 мин. [Показать отчёт] Научился: Научился создавать верхние и нижние связи, а также класс header. Сложности: Все просто и понятно. Комментарии: Идем дальше. |
|||||
6 | Единичная матрица |
|
|||
Мы продолжаем знакомство с гениальным алгоритмом X Дональда Кнута - Dancing Links. На этом уроке, используя созданный ранее четырёх-связный список, мы добавим необходимые нам элементы для дальнейшем работы с ними. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 1 час. 18 мин. [Показать отчёт] Научился: Научился создавать класс Dance и вертикальные и горизонтальные связи к нему. Сложности: Ничего. Комментарии: Идем дальше. |
|||||
7 | Как ссылки пошли впляс |
|
|||
Мы продолжаем знакомство с гениальным алгоритмом X Дональда Кнута - Dancing Links. На этом уроке мы реализуем заготовку функции Dance() в классе Dance(). Отчёт отправил: 7119. Новопашин Владимир Выполнено за 33 мин. [Показать отчёт] Научился: Научился создавать алгоритм dance. Сложности: Ничего. Комментарии: Чуть-чуть и алгоритм заработает. Потом надо будет на судоке испытать его. |
|||||
8 | Открытие/закрытие столбцов |
|
|||
Мы продолжаем знакомство с гениальным алгоритмом X Дональда Кнута - Dancing Links. На этом уроке мы доработает функции AddRow() и Dance() в классе Dance(). Так же реализуем функции Cover/Uncover(). Отчёт отправил: 7119. Новопашин Владимир Выполнено за 1 час. 01 мин. [Показать отчёт] Научился: Научился решать одну из задач для AlgoritmX. Сложности: У меня было StackOverflow. Потом выяснил писал то что нужно для cover в функции uncover и наоборот. Изменил названия функций и все заработало. Комментарии: Осталась интрига - из-за чего один алгоритм работал в 10 раз медленнее другого? |
|||||
9 | Фигуры из пентамимо |
|
|||
Мы продолжаем знакомство с гениальным алгоритмом X Дональда Кнута - Dancing Links. На этом уроке мы приступаем к решению олимпиадной задачи: Пентамино, заполнив массив всеми вариантами расположения фигур. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 25 мин. [Показать отчёт] Научился: Научился задавать начальные данные для решения пентамино. Сложности: Пока не совсем понимаю как это решать - хотя завести фигуры проблем не возникло. Комментарии: Идем дальше. |
|||||
10 | Фигуры в консоли |
|
|||
Мы продолжаем знакомство с гениальным алгоритмом X Дональда Кнута - Dancing Links. На этом уроке мы решили реализовать возможность отображения фигур в консоли, чтобы в дальнейшем видеть что происходит в процессе работы алгоритма. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 20 мин. [Показать отчёт] Научился: Научился выводить фигуры в консоле. Сложности: Ничего. Комментарии: Ура! Получилось! |
|||||
11 | Матрица Пентагона |
|
|||
Мы продолжаем знакомство с гениальным алгоритмом X Дональда Кнута - Dancing Links. На этом уроке мы завершим реализацию функции поиска решения Пентамино. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 55 мин. [Показать отчёт] Научился: Научился запускать пентамино для танцующих ссылок. Сложности: Вроде все просто - надо с этим еще поиграться. Комментарии: Идем дальше. |
|||||
12 | Пентагон в деталях |
|
|||
Мы продолжаем знакомство с гениальным алгоритмом X Дональда Кнута - Dancing Links. На этом уроке мы воспользуемся функцией Show() в классе Figure() для визуализации генерации всех вариантов расположения фигур Пентамино. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 23 мин. [Показать отчёт] Научился: Научился отображать фигуры в пентамино. Сложности: Ничего. Комментарии: Классно! Фигурки появились! |
|||||
13 | Пентагон ищет решение |
|
|||
Мы продолжаем знакомство с гениальным алгоритмом X Дональда Кнута - Dancing Links. На этом уроке мы визуализируем поиск решения Пентамино с использованием yield. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 52 мин. [Показать отчёт] Научился: Научился отображать промежуточный ответ. Сложности: Ничего. Комментарии: Уже близко к решению. |
|||||
14 | Десятикратная оптимизация |
|
|||
Мы продолжаем знакомство с гениальным алгоритмом X Дональда Кнута - Dancing Links. На этом уроке мы оптимизируем наш алгоритм поиска решения Пентамино. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 33 мин. [Показать отчёт] Научился: Научился оптимизации. Сложности: Я пока еще не понял, как подготовить данные для судоку - буду думать. Комментарии: Отличный курс - приоткрыл завесу над загадочным AlgoritmX. |
|||||
Итого: 14 видеоуроков |
4 час. 18 мин. |
17 чел. | |||
Финалисты: Иван Воронин, Андрей, AZANIR, Алексей Малышев, Сергей Соколов, Алексей В., Максим Лапшинов, Spellion, Tekashnik, Yefim, Новопашин Владимир, Bazel, Николай Денисов, Иван, Дмитрий, Max, MaxB . |