[Евгений Волосатов] Практикум по Алгоритмам

Курс: “[Евгений Волосатов] Практикум по Алгоритмам”. Курс предназначен для начинающих программистов, студентов, изучающих компьютерные науки, а также для IT-инженеров, которые желают понять, как решать комбинаторные задачи и оптимизировать алгоритмы. Материал прислал анонимный пользователь без комментариев.

Материал может быть удален по запросу правообладателя!

Описание курса:

Курс состоит из двух частей. В первой мы рассматриваем способы “универсального” решения комбинаторных задач методом полного перебора и способы оптимизации этих алгоритмов. Во второй части мы задействуем метод динамического программирования с рекурсией, который позволит создавать поистине быстрые и эффективные алгоритмы поиска.

Комбинаторные алгоритмы (Уроки 1-5):

Комбинаторика изучает варианты размещения объектов. Комбинаторные алгоритмы подразумевают перебор всех вариантов расположения объектов и поиск оптимального решения, которое удовлетворяет заданным условиям. Комбинаторные задачи в программировании встречаются очень часто. Задача минимум для любого программиста – уметь их решать полным перебором и применять методы оптимизации этих алгоритмов.

Динамическое программирование. (Уроки 6-10):

Алгоритмы полного перебора пишутся просто, но работают слишком долго. Применяя метод динамического программирования можно значительно ускорить время поиска решения. Идея заключается в том, чтобы разделить исходную задачу на несколько таких же, но с меньшими начальными данными. Для создания таких алгоритмов обычно используется рекурсия.

В курсе гармонично переплетается теория и практика, рассматриваются методы оптимизации алгоритмов, есть визуализация циклических и рекурсивных алгоритмов, рассмотрены способы создания искусственного интеллекта для игры в настольную игру, а также контрольная работа в виде сеанса “спортивного программирования” для закрепления материала.

Алгоритмы, которые мы рассматриваем в данном курсе, можно реализовать на любом языке программирования. Мы будем писать программы на языке С#, базовых знаний которого будет вполне достаточно для понимания материала.

Содержание курса:

ЦИКЛЫ. ГРАФИЧЕСКИЕ УЗОРЫ:

На этом уроке мы будем доводить навык использования циклов до совершенства. Чтобы достичь интуитивного понимания, лучше «один раз увидеть», поэтому мы будем рисовать причудливые узоры, используя комбинации вложенных циклов и условий.

ПРОСТЫЕ ЧИСЛА. ОПТИМИЗАЦИЯ АЛГОРИТМОВ:

На этом уроке мы напишем алгоритм генерации простых чисел, а затем начнём его оптимизировать различными способами, замеряя время работы каждого варианта.

ПРОСТЫЕ ЗАДАЧИ НА ПЕРЕБОР ВАРИАНТОВ:

На этом уроке мы решим несколько комбинаторных задач методом “грубой силы”, а затем рассмотрим идеи оптимизации каждого алгоритма.

ИГРА С ИСКУССТВЕННЫМ ИНТЕЛЛЕКТОМ. ПОИСК ЛУЧШЕГО ХОДА ПЕРЕБОРОМ:

На этом уроке мы создадим простую игру, а затем научим компьютер в неё играть: создадим искусственный интеллект для поиска хорошего хода.

КОНТРОЛЬНАЯ РАБОТА НА ПЕРЕБОР ВАРИАНТОВ:

На этом уроке будет “спортивное программирование”. У Вас будет нескольких комбинаторных задачек на перебор вариантов и ограниченное время. Посмотрим, чему Вы научились и сколько задачек успеете решить!

РЕКУРСИЯ. ПОСТРОЕНИЕ ФРАКТАЛОВ:

На этом уроке мы будем доводить навык использования рекурсии до совершенства. Чтобы достичь интуитивного понимания, лучше «один раз увидеть», поэтому мы будем рисовать фракталы – повторяющиеся узоры, используя алгоритмы с рекурсивным вызовом.

СЛОЖНЫЕ ФУНКЦИИ. ОПТИМИЗАЦИЯ АЛГОРИТМОВ:

На этом уроке мы напишем алгоритмы вычисления некоторых алгебраических функций. а затем начнём их оптимизировать различными способами, замеряя время работы каждого варианта.

СЛОЖНЫЕ ЗАДАЧИ НА ПЕРЕБОР ВАРИАНТОВ:

На этом уроке мы решим несколько комбинаторных задач методом динамического программирования с использованием рекурсии и без неё.

ИГРА С ИСКУССТВЕННЫМ ИНТЕЛЛЕКТОМ. ПОИСК АЛЬФА-БЕТТА ОТСЕЧЕНИЕМ:

На этом уроке мы продолжим создание искуcственного интеллекта для нашей игры. Но на этот раз мы воспользуемся рекурсивным поиском вглубь с отсечением ложных решений.

КОНТРОЛЬНАЯ РАБОТА НА ДИНАМИЧЕСКОЕ ПРОГРАММИРОВАНИЕ:

На этом уроке будет “спортивное программирование”. У Вас будет нескольких комбинаторных задачек на динамическое программирование и ограниченное время. Посмотрим, чему Вы научились и сколько задачек успеете решить!

Если Вы не видите ссылку для скачивания материала – отключите блокиратор рекламы и добавьте наш сайт в список исключений. Если Вы против рекламы на нашем сайте – покупайте контент напрямую у авторов.

Материал предоставлен исключительно для ознакомления!

Опубликовано: Анонимно

Нравится3

Не нравится0

openssource

Recent Posts

SEO & SMM [Антон Маркин] Слив курса Желудь

  ОПИСАНИЕ: Слив курса Желудь [Антон Маркин] SEO как дремучий лес, где каждый второй уже…

2 недели ago

SEO & SMM [Денис Марков] Приватка Traffic Lab. Закрытый канал по УБТ трафику (2025)

ОПИСАНИЕ:Слив курса Приватка Traffic Lab. Закрытый канал по УБТ трафику [Денис Марков]Программа:1. Связка на гемблинг…

2 недели ago

Бизнес [Anton Voroniuk] [Udemy] Сила ИИ-аватаров с HeyGen (2025)

ОПИСАНИЕ:Слив курса Сила ИИ-аватаров с HeyGen [udemy] [Anton Voroniuk]$p65e0759c3d33e Язык курса английский + русскую аудиодорожку…

2 недели ago

Бизнес [Аяз Шабутдинов] Последняя лекция. Месяц 4 (2025)

ОПИСАНИЕ:Слив курса Последняя лекция (месяц 4) [Аяз Шабутдинов]Если завтра меня не станет, то какими были…

2 недели ago

Бизнес [Дмитрий Зверев] Книга по картинкам и фото в нейросетях 3.0 (2025)

ОПИСАНИЕ:Слив курса Книга по картинкам и фото в нейросетях 3.0 [Дмитрий Зверев]Этот инфопродукт специально для…

2 недели ago

Бизнес [Александр Садеков] Освой самые мощные нейросети 2025 года (2025)

ОПИСАНИЕ:Слив курса Освой самые мощные нейросети 2025 года [Александр Садеков]Без кода и знаний программированияКлуб для…

2 недели ago

This website uses cookies.