• A
  • A
  • A
  • ABC
  • ABC
  • ABC
  • А
  • А
  • А
  • А
  • А
Regular version of the site
Article
Synthesis of Acyclic Models for Processes Without Repeating Events

Joulitov A.K., Lomazova I.A.

Proceedings of the Institute for System Programming of the RAS. 2026. Vol. 38. No. 4(2) . P. 215-224.

Book chapter
An LLM-Based Approach for Creating Multi-agent Systems

Rezunik L., Alexandrov D., Mikhail Prozorskiy.

In bk.: Intelligent Decision Technologies. Proceedings of the 17th KES-IDT 2025 Conference. Vol. 450. Cham: Springer, 2026. P. 81-91.

Working paper
Approach to Designing CV Systems for Medical Applications: Data, Architecture and AI
In press

Ryabtsev D., Vasilyev Boris, Shershakov S.

Computer Science ::Computer Vision and Pattern Recognition. 2501.14689. arXiv, 2025

Algorithms and Data Structures

2026/2027
Academic Year
RUS
Instruction in Russian
6
ECTS credits
Type:
Compulsory course
When:
2 year, 3, 4 module

Instructors

Кондаков Семен Васильевич

Кондаков Семен Васильевич

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

Аннотация

Учебный курс "Алгоритмы и структуры данных" является обязательной дисциплиной для студентов второго курса по направлению "Программная инженерия" факультета компьютерных наук НИУ ВШЭ. Основная цель курса заключается в формировании у студентов навыков анализа производительности алгоритмов, работающих с различными структурами данных, и выбора оптимальных решений для конкретных практических задач. В ходе обучения рассматриваются методы асимптотического анализа сложности как детерминированных, так и стохастических алгоритмов, изучается алгоритмический инструментарий, актуальный и необходимый для профессионального становления и развития разработчиков современных компьютерных игр. Лекции направлены на систематическое освоение материала, тогда как практические занятия позволяют закрепить полученные знания через решение задач и реализацию изученных алгоритмов и структур данных на языке программирования С++. Тесная взаимосвязь лекционного материала и практической работы обеспечивает глубокое и всестороннее освоение курса.
Цель освоения дисциплины

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

  • сформировать алгоритмический инструментарий, необходимый и актуальный для профессионального разработчика компьютерных игр и цифровых продуктов
Планируемые результаты обучения

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

  • овладеть навыками анализа сложности алгоритмов
  • овладеть навыками проектирования и реализации структур данных, а также применения библиотечных решений
  • овладеть фундаментальными и практическими навыками работы с графами и графовыми алгоритмами: поиск кратчайших путей, анализ связности, построение остовных деревьев и применение эвристических алгоритмов (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

Авторы

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