HHIDE_DUMP
Гость
H
HHIDE_DUMP
Гость
Курс предназначен для начинающих программистов, студентов, изучающих компьютерные науки, а также для IT-инженеров, которые желают понять, как решать комбинаторные задачи и оптимизировать алгоритмы.
Предварительные требования
Комбинаторные алгоритмы (Уроки 1-5).
Комбинаторика изучает варианты размещения объектов. Комбинаторные алгоритмы подразумевают перебор всех вариантов расположения объектов и поиск оптимального решения, которое удовлетворяет заданным условиям. Комбинаторные задачи в программировании встречаются очень часто. Задача минимум для любого программиста - уметь их решать полным перебором и применять методы оптимизации этих алгоритмов.
Динамическое программирование. (Уроки 6-10).
Алгоритмы полного перебора пишутся просто, но работают слишком долго. Применяя метод динамического программирования можно значительно ускорить время поиска решения. Идея заключается в том, чтобы разделить исходную задачу на несколько таких же, но с меньшими начальными данными. Для создания таких алгоритмов обычно используется рекурсия.
В курсе гармонично переплетается теория и практика, рассматриваются методы оптимизации алгоритмов, есть визуализация циклических и рекурсивных алгоритмов, рассмотрены способы создания искусственного интеллекта для игры в настольную игру, а также контрольная работа в виде сеанса “спортивного программирования” для закрепления материала.
Алгоритмы, которые мы рассматриваем в данном курсе, можно реализовать на любом языке программирования. Мы будем писать программы на языке С#, базовых знаний которого будет вполне достаточно для понимания материала.
Предварительные требования
- Базовые знания языка программирования C#.
- Математика и логика в объёме школьной программы.
Комбинаторные алгоритмы (Уроки 1-5).
Комбинаторика изучает варианты размещения объектов. Комбинаторные алгоритмы подразумевают перебор всех вариантов расположения объектов и поиск оптимального решения, которое удовлетворяет заданным условиям. Комбинаторные задачи в программировании встречаются очень часто. Задача минимум для любого программиста - уметь их решать полным перебором и применять методы оптимизации этих алгоритмов.
Динамическое программирование. (Уроки 6-10).
Алгоритмы полного перебора пишутся просто, но работают слишком долго. Применяя метод динамического программирования можно значительно ускорить время поиска решения. Идея заключается в том, чтобы разделить исходную задачу на несколько таких же, но с меньшими начальными данными. Для создания таких алгоритмов обычно используется рекурсия.
В курсе гармонично переплетается теория и практика, рассматриваются методы оптимизации алгоритмов, есть визуализация циклических и рекурсивных алгоритмов, рассмотрены способы создания искусственного интеллекта для игры в настольную игру, а также контрольная работа в виде сеанса “спортивного программирования” для закрепления материала.
Алгоритмы, которые мы рассматриваем в данном курсе, можно реализовать на любом языке программирования. Мы будем писать программы на языке С#, базовых знаний которого будет вполне достаточно для понимания материала.
Для просмотра скрытого содержимого вы должны войти или зарегистрироваться.