Бакалавриат
2026/2027





Алгоритмы и структуры данных 2 (углубленный курс)
Статус:
Курс обязательный (Прикладная математика и информатика)
Кто читает:
Базовая кафедра Яндекс
Где читается:
Факультет компьютерных наук
Когда читается:
2-й курс, 1 модуль
Охват аудитории:
для своего кампуса
Язык:
русский
Кредиты:
3
Контактные часы:
56
Программа дисциплины
Аннотация
Целями освоения дисциплины «Алгоритмы и структуры данных – 2» являются углубленное ознакомление студентов с основами теории вычислительной сложности, приближенными и вероятностными методами решения труднорешаемых задач, в том числе задач, возникающих в анализе данных. В курсе дается представление о классах сложности P, NP и coNP и NP-полных задачах, изучаются способы доказательства NP-полноты задач и подходы к решению таких задач, в т.ч. экспоненциальные алгоритмы, отличные от полного перебора, приближенные алгоритмы и эффективные алгоритмы для частных случаев. Также рассматриваются потоковые алгоритмы, алгоритмы эффективного перечисления последовательностей и способы оценки их вычислительной сложности (задержка, кумулятивная задержка, сложность относительно размера входа и выхода).
Цель освоения дисциплины
- ознакомление студентов с основами алгоритмической теории сложности, приближенными и вероятностными методами решения труднорешаемых задач, в том числе задач, возникающих в анализе данных
Планируемые результаты обучения
- Уметь адаптировать известные и проектировать новые алгоритмы для решения вычислительно сложных задач на практике
- Уметь разбить задачу на подзадачи, эффективно реализовать программные компоненты для отдельных подзадач и связать их воедино
- Уметь проводить анализ корректности и временной сложности алгоритмов; распознавать класс сложности задач
Содержание учебной дисциплины
- Основы теории вычислительной сложности
- Методы решения труднорешаемых задач
- Задачи и алгоритмы анализа данных
- Вводная лекция
- Матожидание
- Ram-модель
- Сортировки 1 и 2
- Хеши
- Хеши 2 (фильтр блума)
- Простые структуры данных
- Куча и фибкуча
- Внешняя память
- B-Дерево
- Splay
- Link cut tree
- Персистентность
- Деревья, LCA, LA
- Оптимизации дп
- Матроиды
- Пересечения матроидов
- Ньютон
- FFT Advanced
- Геометрия
- Стереометрия или ray tracing
- Монте Карло
- Эйлер, 2-сат
- СНМ
- Борувка, линейный mst
- ListRanking, Кеш
- Паросочетания, вершинные покрытия
- Потоки
- Венгерский алгоритм
- Переборы с масками
- Линейное программирование, двойственность
- Симплекс
Элементы контроля
- Контрольная работа
- Экзамен
- Домашнее задание
- Контесты
- Внешний экзамен компетенций образовательной программы топ-уровня
Промежуточная аттестация
- 2026/2027 1st module0.05 * Внешний экзамен компетенций образовательной программы топ-уровня + 0.25 * Экзамен + 0.25 * Домашнее задание + 0.16 * Контесты + 0.29 * Контрольная работа
Список литературы
Рекомендуемая основная литература
- Алгоритмы на С++ - Седжвик Р. - Национальный Открытый Университет "ИНТУИТ" - - - 2016 - русский - https://e.lanbook.com/book/100565 - ЛАНЬ - 100565
Рекомендуемая дополнительная литература
- Алгоритмы и структуры данных. Новая версия для Оберона - Вирт Н. - Издательство "ДМК Пресс" - 978-5-94074-584-6 - 2010 - русский - https://e.lanbook.com/book/1261 - ЛАНЬ - 1261