• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
Бакалавриат 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 module
    0.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

Авторы

  • Нестеров Роман Александрович