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





Алгоритмы и структуры данных
ID 1126786
Статус:
Курс обязательный (Разработка игр и цифровых продуктов)
Кто читает:
Департамент программной инженерии
Где читается:
Факультет компьютерных наук
Когда читается:
2-й курс, 3, 4 модуль
Охват аудитории:
для своего кампуса
Преподаватели:
Нестеров Роман Александрович
Язык:
русский
Кредиты:
6
Контактные часы:
80
Программа дисциплины
Аннотация
Учебный курс "Алгоритмы и структуры данных" является обязательной дисциплиной для студентов второго курса по направлению "Программная инженерия" факультета компьютерных наук НИУ ВШЭ. Основная цель курса заключается в формировании у студентов навыков анализа производительности алгоритмов, работающих с различными структурами данных, и выбора оптимальных решений для конкретных практических задач. В ходе обучения рассматриваются методы асимптотического анализа сложности как детерминированных, так и стохастических алгоритмов, изучается алгоритмический инструментарий, актуальный и необходимый для профессионального становления и развития разработчиков современных компьютерных игр. Лекции направлены на систематическое освоение материала, тогда как практические занятия позволяют закрепить полученные знания через решение задач и реализацию изученных алгоритмов и структур данных на языке программирования С++. Тесная взаимосвязь лекционного материала и практической работы обеспечивает глубокое и всестороннее освоение курса.
Цель освоения дисциплины
- сформировать алгоритмический инструментарий, необходимый и актуальный для профессионального разработчика компьютерных игр и цифровых продуктов
Планируемые результаты обучения
- овладеть навыками анализа сложности алгоритмов
- овладеть навыками проектирования и реализации структур данных, а также применения библиотечных решений
- овладеть фундаментальными и практическими навыками работы с графами и графовыми алгоритмами: поиск кратчайших путей, анализ связности, построение остовных деревьев и применение эвристических алгоритмов (A*)
- овладеть принципами работы пространственных алгоритмов и навыками их применения для решения практических задач
Содержание учебной дисциплины
- Неделя 1. Асимптотический анализ временной сложности алгоритмов
- Неделя 2. Рекурсивные алгоритмы и парадигма "разделяй и властвуй"
- Неделя 3. Абстрактный тип данных. Линейные контейнеры
- Неделя 4. Абстрактный тип данных. Упорядоченные контейнеры
- Неделя 5. Графы. Базовые аспекты
- Неделя 6. Компоненты сильной связности. Остовное дерево
- Неделя 7. Кратчайшие пути. BFS и алгоритм Дейкстры
- Неделя 8. Кратчайшие пути. Двусторонние алгоритмы
- Неделя 9. Кратчайшие пути. Эвристические алгоритмы
- Неделя 11. Динамическое программирование. Задача о рюкзаке
- Неделя 12. Динамическое программирование. Кратчайшие пути
- Неделя 13. Случайные алгоритмы
- Неделя 14. Задача коммивояжера
- Неделя 15. Специальные задачи теории графов
- Неделя 16. Геометрические алгоритмы. Введение
- Неделя 17. Геометрические алгоритмы. Разбиение сложных объектов
- Неделя 18. Геометрические алгоритмы. Выпуклые оболочки
- Неделя 19. Систематизация материала курса
Элементы контроля
- Контрольная работа №1Контрольная работа в виде Яндекс.Контеста с тремя задачами по материалам третьего модуля. Разрешается использование конспектов и других материалов по решенным задачам из домашних работ
- Контрольная работа №2Контрольная работа в виде Яндекс.Контеста с тремя задачами по материалам третьего модуля. Разрешается использование конспектов и других материалов по решенным задачам из домашних работ
- Домашние работыКаждая домашняя работа представляет собой набор задач в рамках рассматриваемой темы на платформе Яндекс.Контест
- Работа на семинарахАктивность на семинарах
- ЭкзаменУстный экзамен по материалу курса
Промежуточная аттестация
- 2026/2027 4th module0.15 * Контрольная работа №1 + 0.2 * Работа на семинарах + 0.3 * Экзамен + 0.15 * Контрольная работа №2 + 0.2 * Домашние работы
Список литературы
Рекомендуемая основная литература
- Kleinberg, J., & Tardos, E. (2014). Algorithm Design: Pearson New International Edition. Harlow, Essex: Pearson. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1418332
- Алгоритмы: построение и анализ, Кормен, Т., 2011
- Вычислительная геометрия. Алгоритмы и приложения - Марк де Берг, Отфрид Чеонг, Марк ван Кревельд, Марк Овермарс - Издательство "ДМК Пресс" - 978-5-97060-406-9 - 2017 - русский - https://e.lanbook.com/book/105833 - ЛАНЬ - 105833
- Теория графов, Оре, О., 2009
Рекомендуемая дополнительная литература
- Алгоритмы на С++ : анализ структуры данных, сортировка, поиск, алгоритмы на графах, Седжвик, Р., 2014
- Грокаем алгоритмы : иллюстрированное пособие для программистов и любопытствующих, Бхаргава, А., 2023