Магистратура
2025/2026



Алгоритмы и структуры данных
Статус:
Курс обязательный (Искусственный интеллект)
Где читается:
Факультет компьютерных наук
Когда читается:
1-й курс, 4 модуль
Охват аудитории:
для своего кампуса
Преподаватели:
Горденко Мария Константиновна
Язык:
русский
Кредиты:
3
Контактные часы:
24
Программа дисциплины
Аннотация
Алгоритмы и структуры данных являются основой для любой программной системы: распределенной системы, мобильного приложения, базы данных, web приложения. В данном курсе студент освоит основные структуры данных и алгоритмы, которые послужат фундаментом для всех дальнейших знаний в области компьютерных наук и программной инженерии.
Цель освоения дисциплины
- научиться выполнять асимптотический анализ сложности алгоритмов
- формирование у студентов профессиональных компетенций, связанных с использованием теоретических знаний в области теории алгоритмов и теории сложности вычислений
- получение студентам навыков самостоятельной исследовательской работы, предполагающей изучение специфических методов анализа алгоритмов, инструментов и средств, необходимых для решения актуальной, в аспекте программной инженерии, задачи выбора рациональных алгоритмов, в зависимости от особенностей применения разрабатываемых программ
- ознакомить студентов с типичными методами разработки эффективных алгоритмов и с эффективными алгоритмами решения задач из важнейших разделов дискретной математики и программирования
- развить у студентов умение оценивать сложность готовых алгоритмов и задач и конструировать собственные эффективные алгоритмы
Планируемые результаты обучения
- Уметь выполнять асимптотический анализ сложности алгоритмов.
- Улучшить навыки программирования.
- Развить у студентов умение оценивать сложность готовых алгоритмов и задач и конструировать собственные эффективные алгоритмы.
- Ознакомить студентов с типичными методами разработки эффективных алгоритмов и с эффективными алгоритмами решения задач из важнейших разделов дискретной математики и программирования.
Содержание учебной дисциплины
- Оценка сложности алгоритма.
- Линейные структуры данных.
- Линейные алгоритмы.
- Понятие рекурсии. Основные задачи рекурсии. Задача о ханойских башнях.
- Задача сортировки.
- Итеративные сортировки.
- Задача поиска.
- Двоичная куча. Пирамидальная сортировка.
- Динамическое программирование. Основные задачи, решаемые с помощью динамического программирования.
- Алгоритмы обработки строк.
- Жадные алгоритмы.
- Основные понятия теории графов. Представление графов в памяти компьютера. Алгоритмы обхода графов.
- Алгоритмы, основанные на обходах графов.
Промежуточная аттестация
- 2025/2026 4th moduleИтог = Округление(0.25 * ДЗ + 0.25 * КР + 0.3 * Э + 0.2 * Проект), где ДЗ — средняя оценка за все домашние задания, КР — оценка за контрольную работу, Э — оценка за экзамен, Проект – сложный набор задач, в т.ч. по непройденным в курсе темам, показывающий блестящее владение материалом.