• A
  • A
  • A
  • АБВ
  • АБВ
  • АБВ
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
29
Апрель

Алгоритмы как математическое исследование

2025/2026
Учебный год
RUS
Обучение ведется на русском языке
6
Кредиты
Статус:
Дисциплина общефакультетского пула
Когда читается:
3, 4 модуль

Программа дисциплины

Аннотация

Слово "Алгоритм" часто оказывается мостом между программированием и математикой. Мы расскажем о том, в чём заключается и как оценивается эффективность алгоритмов, при этом мы уделим должное внимание структурам данных, выбор которых существенно влияет на сложность алгоритмов. Курс включает лекции, решение задач на алгоритмы, а также участники получат опыт практической реализации алгоритмов в виде программ: без этой работы было бы слишком трудно по настоящему понять алгоритмы. Курс ориентирован на математическую составляющую построения и анализа алгоритмов, в которых теоремы и другие утверждения не менее важны, чем сами алгоритмы.
Цель освоения дисциплины

Цель освоения дисциплины

  • -
Планируемые результаты обучения

Планируемые результаты обучения

  • --
Содержание учебной дисциплины

Содержание учебной дисциплины

  • Начальные примеры алгоритмических задач. Понятие сложности алгоритма и сложности задачи. Нижние оценки сложности алгоритмов. Навыки: алгоритмы на множествах чисел, оценка их сложности.
  • Стандартные структуры данных: массив, стек, очередь, список, дерево, хэш таблица. Навыки: умение программировать некоторые методы структур данных и выбирать подходящую структуру для задачи.
  • Неориентированные графы и их обходы. Поиск в ширину и его применения. Навык: умение решать алгоритмические задачи на графах методом построения структуры данных и по- иска в ширину.
  • Ориентированные графы и порядки на множествах. Поиск в глубину. Топологическая сортировка, поиск сильно связных компонент, перечисление всех ориентированных циклов. Навык: построение полных порядков из предпорядка.
  • Потоки на графах. Алгоритмы поиска максимального потока и минимального разреза. Многопродуктовые потоки, алгоритмы поиска максимального конкурентного потока. Навык: решение задач методом построения и максимизации потока на графе.
  • Динамическое программирование
  • Жадные алгоритмы и их применимость. Матроиды и субмодулярные функции. Примеры (минимальное покрывающее дерево, упаковка рюкзака, оптимальное расписание, покраски графов). Навык: умение видеть задачи, допускающие точные жадные алгоритмы
Элементы контроля

Элементы контроля

  • неблокирующий Решение задач
  • неблокирующий Решение задач посредством программирования
  • неблокирующий Колоквиум
  • неблокирующий Устный экзамен
Промежуточная аттестация

Промежуточная аттестация

  • 2025/2026 4th module
    0.15 * Колоквиум + 0.125 * Решение задач + 0.125 * Решение задач + 0.125 * Решение задач посредством программирования + 0.125 * Решение задач посредством программирования + 0.35 * Устный экзамен
Список литературы

Список литературы

Рекомендуемая основная литература

  • Алгоритмы: построение и анализ : пер.с англ., Кормен, Т., 2013

Рекомендуемая дополнительная литература

  • Алгоритмы, Дасгупта, С., 2023

Авторы

  • Клименко Алексей Владимирович