Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Алгоритм X Dancing Links сборки пентамимо на C#
Rating: 4.6 out of 5(12 ratings)
43 students

Алгоритм X Dancing Links сборки пентамимо на C#

Теоретическое и практическое знакомство с гениальным "Алгоритмом икс" Дональда Кнута с примерами
Last updated 11/2018
Russian

What you'll learn

  • Поймут суть алгоритма X для быстрого поиска решений
  • Решат задачу расстановки пентамимо с использованием алгоритма Dancing Links

Course content

3 sections14 lectures4h 7m total length
  • Что такое Dancing Links8:35

    В этой серии уроков мы познакомимся с гениальным "алгоритмом X" Дональда Кнута — Dancing Links.

    Этот алгоритм можно применять для решения самых разных комбинаторных задач, например, разложение Пентамимо, решение Судоку, размещение ферзей и так далее. Ссылки на статью Дональда Кнута и обзорная статья на Хабре с описанием данного алгоритма — внизу описания урока.

    Самостоятельное задание:

    1. Внимательно прослушать и просмотреть видео.

    2. Подходит ли данный алгоритм для решения задачи Судоку или Парад Ферзей.

    3. Приложить интересную картинку на тему урока.

  • Работа алгоритма12:43

    На этом уроке мы пошагово рассмотрим статью на Хабре (см. ссылки ниже).

    Самостоятельное задание:

    1. Внимательно прослушать и просмотреть видео.

    2. Напишите своё мнение по поводу данного урока.

    3. Самостоятельно рассмотреть варианты поиска решения.

    4. Приложить скриншот проработанного алгоритма.

  • Двусвязный список с удалением10:46

    На этом уроке мы пошагово рассмотрим статью автора данного алгоритма — Дональда Кнута, и рассмотрим пошаговое удаление и возвращение элемента.

    Самостоятельное задание:

    1. Внимательно прослушать и просмотреть видео.

    2. Нарисовать циклический список из 4 элементов ABCD.

    3. Проработать весь алгоритм самостоятельно.

    4. Приложить скриншот проработанного алгоритма.

    5. * Продемонстрировать удаление/восстановление всех элементов.

Requirements

  • Логическое мышление
  • Основы языка программирования C#

Description

В этой серии уроков мы познакомимся с гениальным алгоритмом X Дональда Кнута - Dancing Links.

Этот алгоритм можно применять для решения самых разных комбинаторных задач, например, заполнение области Пентамимо-фигурами, решение Судоку, размещение ферзей на шахматной доске и так далее. 

В первой части курса "Теория" мы разберём принцип работы алгоритма, выполним его построчно "ручками" на конкретном примере, чтобы лучше понять, как он устроен и как работает. Мы пошагово рассмотрим статью автора Дональда Кнута, изобретателя этого алгоритма и рассмотрим пошаговое удаление и возвращение элемента.

Во второй части курса "Практика" мы реализуем на C# двух- и четырёх-связных списков и дальнейшей реализации "Алгоритма Икс" Дональда Кнута. и напишем весь алгоритм. Используя созданный ранее четырёх-связный список, мы добавим необходимые нам элементы для дальнейшем работы с ними.

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

Если вам нравятся алгоритмы, то обязательно пройдите этот курс, не пожалеете. Знание алгоритма Dancing Links позволит вам эффективно решать любые задачи, решение которых сводятся к задаче о полном покрытии.

Who this course is for:

  • Для любителей алгоритмов
  • Для инженеров и программистов
  • Для студентов с лабораторкой по Dancing Links