# | Название видеоурока | Видео / Тесты | Решило | Рейтинг | Доступ |
---|---|---|---|---|---|
1 |
![]() |
|
|||
В этой серии уроков мы познакомимся с гениальным алгоритмом X Дональда Кнута - Dancing Links. Этот алгоритм можно применять для решения самых разных комбинаторных задач, например, разложение Пентамимо, решение Судоку, размещение ферзей и так далее. Статья Дональда Кнута: https://arxiv.org/pdf/cs/0011047v1.pdf Обзорная статья на Хабре: https://habrahabr.ru/post/194410/ Отчёт отправил: 10670. Сергей Соколов Выполнено за 10 мин. [Показать отчёт] Научился: узнал про алгоритм Сложности: разобраться и понять суть алгоритма не просто. надеюсь на следующих уроках пойму Комментарии: =) |
|||||
2 | Работа алгоритма |
|
|||
Мы продолжаем знакомство с гениальным алгоритмом X Дональда Кнута - Dancing Links. На этом уроке мы пошагово рассмотрим статью на Хабре. Отчёт отправил: 10670. Сергей Соколов Выполнено за 20 мин. [Показать отчёт] Научился: Рассмотрел варианты поиска решения с алгоритмом X Сложности: изучать этот алгоритм Комментарии: =) |
|||||
3 | Двусвязный список с удалением |
|
|||
Мы продолжаем знакомство с гениальным алгоритмом X Дональда Кнута - Dancing Links. На этом уроке мы пошагово рассмотрим статью автора данного алгоритма и рассмотрим пошаговое удаление и возвращение элемента. Отчёт отправил: 10670. Сергей Соколов Выполнено за 40 мин. [Показать отчёт] Научился: Посмотрел и послушал видео Нарисовал циклический список из 4-х элементов Проработал алгоритм удаления элемента Сложности: вот это всё рисовать Комментарии: =) |
|||||
4 | Расширение хоровода |
|
|||
Мы продолжаем знакомство с гениальным алгоритмом X Дональда Кнута - Dancing Links. На этом уроке мы наконец приступим к реализации двусвязного списка на языке C#. Отчёт отправил: 10670. Сергей Соколов Выполнено за 30 мин. [Показать отчёт] Научился: Реализовал класс Cell и сделал двусвязный список из нескольких элементов класса Сложности: ничего Комментарии: =) |
|||||
5 | Заголовки столбцов |
|
|||
Мы продолжаем знакомство с гениальным алгоритмом X Дональда Кнута - Dancing Links. На этом уроке мы реализуем перемещение вверх/вниз для реализации четырёх-связного списка, так же создадим класс Header(), чтобы знать в каком столбце мы находимся. Отчёт отправил: 10670. Сергей Соколов Выполнено за 15 мин. [Показать отчёт] Научился: Доработал класс Cell. Добавил в него новые переменные, изменил конструктор, реализовал функцию добавления сверху. Создал класс Header. Доработал функцию test. Сложности: ничего Комментарии: =) |
|||||
6 | Единичная матрица |
|
|||
Мы продолжаем знакомство с гениальным алгоритмом X Дональда Кнута - Dancing Links. На этом уроке, используя созданный ранее четырёх-связный список, мы добавим необходимые нам элементы для дальнейшем работы с ними. Отчёт отправил: 10670. Сергей Соколов Выполнено за 30 мин. [Показать отчёт] Научился: Создал класс Dance Реализовал функцию AddRow Реализовал функцию start и использовал класс Dance. Добавил 12 строчек. Сложности: ничего Комментарии: =) |
|||||
7 | Как ссылки пошли впляс |
|
|||
Мы продолжаем знакомство с гениальным алгоритмом X Дональда Кнута - Dancing Links. На этом уроке мы реализуем заготовку функции Dance() в классе Dance(). Отчёт отправил: 10670. Сергей Соколов Выполнено за 25 мин. [Показать отчёт] Научился: Реализовал функцию Dance() Создал заглушки для функций Cover() и Uncover() Добавил вывод номера шага Сложности: ничего Комментарии: =) |
|||||
8 | Открытие/закрытие столбцов |
|
|||
Мы продолжаем знакомство с гениальным алгоритмом X Дональда Кнута - Dancing Links. На этом уроке мы доработает функции AddRow() и Dance() в классе Dance(). Так же реализуем функции Cover/Uncover(). Отчёт отправил: 10670. Сергей Соколов Выполнено за 40 мин. [Показать отчёт] Научился: Добавил номер строки в классе Cell() Доработал функцию добавления строки Доработал функцию Dance() Реализовал функции Cover() и Uncover() Перенумеровал ячейки от 0 до 11. Получил ответ! =) Сложности: ничего Комментарии: =) |
|||||
9 | Фигуры из пентамимо |
|
|||
Мы продолжаем знакомство с гениальным алгоритмом X Дональда Кнута - Dancing Links. На этом уроке мы приступаем к решению олимпиадной задачи: Пентамино, заполнив массив всеми вариантами расположения фигур. Отчёт отправил: 10670. Сергей Соколов Выполнено за 20 мин. [Показать отчёт] Научился: Создал структуры Figure и Variant, а также класс Pentaminos. Воспользовался подарком от Игромистра и заполнил массив всеми вариантами расположения фигур. Создал функцию startPent Сложности: не смог доделать задачу Комментарии: =) |
|||||
10 | Фигуры в консоли |
|
|||
Мы продолжаем знакомство с гениальным алгоритмом X Дональда Кнута - Dancing Links. На этом уроке мы решили реализовать возможность отображения фигур в консоли, чтобы в дальнейшем видеть что происходит в процессе работы алгоритма. Отчёт отправил: 10670. Сергей Соколов Выполнено за 25 мин. [Показать отчёт] Научился: Реализовал функцию которая выводит фигуру в виде символов в консоли. Вывел все фигуры Сложности: ничего Комментарии: =) |
|||||
11 | Матрица Пентагона |
|
|||
Мы продолжаем знакомство с гениальным алгоритмом X Дональда Кнута - Dancing Links. На этом уроке мы завершим реализацию функции поиска решения Пентамино. Отчёт отправил: 10670. Сергей Соколов Выполнено за 20 мин. [Показать отчёт] Научился: Реализовал алгоритм перебора всех вариантов расположения фигур. Не смог дождаться завершения алгоритма работы, терпения не хватило =) Сложности: запутался немного и долго искал ошибку. не смог дождаться завершения работы алгоритма. Комментарии: =) |
|||||
12 | Пентагон в деталях |
|
|||
Мы продолжаем знакомство с гениальным алгоритмом X Дональда Кнута - Dancing Links. На этом уроке мы воспользуемся функцией Show() в классе Figure() для визуализации генерации всех вариантов расположения фигур Пентамино. Отчёт отправил: 10670. Сергей Соколов Выполнено за 15 мин. [Показать отчёт] Научился: Реализовал отображение генерации вариантов расположения фигур. Сложности: ничего Комментарии: =) |
|||||
13 | Пентагон ищет решение |
|
|||
Мы продолжаем знакомство с гениальным алгоритмом X Дональда Кнута - Dancing Links. На этом уроке мы визуализируем поиск решения Пентамино с использованием yield. Отчёт отправил: 10670. Сергей Соколов Выполнено за 25 мин. [Показать отчёт] Научился: Модифицировал функцию Dance() теперь она возвращает IEnumerable. Реализовал текущее состояние поиска решений. Сложности: ничего Комментарии: =) |
|||||
14 | Десятикратная оптимизация |
|
|||
Мы продолжаем знакомство с гениальным алгоритмом X Дональда Кнута - Dancing Links. На этом уроке мы оптимизируем наш алгоритм поиска решения Пентамино. Отчёт отправил: 10670. Сергей Соколов Выполнено за 20 мин. [Показать отчёт] Научился: Оптимизировали функцию Dance. Получили результат. Супер курс получился. Очень все было и интересно и понравилось. Спасибо большое! =) Сложности: ничего Комментарии: =) |
|||||
Итого: 14 видеоуроков |
4 час. 18 мин. |
17 чел. | |||
Финалисты: Иван Воронин, Андрей, AZANIR, Алексей Малышев, Сергей Соколов, Алексей В., Максим Лапшинов, Spellion, Tekashnik, Yefim, Новопашин Владимир, Bazel, Николай Денисов, Иван, Дмитрий, Max, MaxB . |