• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
Магистратура 2026/2027

Алгоритмы и структуры данных

Когда читается: 1-й курс, 1, 2 модуль
Охват аудитории: для своего кампуса
Язык: русский
Кредиты: 6
Контактные часы: 48

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

Аннотация

Алгоритмы и структуры данных являются основой для любой программной системы: распределенной системы, мобильного приложения, базы данных, web приложения. В данном курсе студент освоит основные структуры данных и алгоритмы, которые послужат фундаментом для всех дальнейших знаний в области компьютерных наук и программной инженерии.
Цель освоения дисциплины

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

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

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

  • Уметь выполнять асимптотический анализ сложности алгоритмов.
  • Улучшить навыки программирования.
  • Развить у студентов умение оценивать сложность готовых алгоритмов и задач и конструировать собственные эффективные алгоритмы.
  • Ознакомить студентов с типичными методами разработки эффективных алгоритмов и с эффективными алгоритмами решения задач из важнейших разделов дискретной математики и программирования.
Содержание учебной дисциплины

Содержание учебной дисциплины

  • Оценка сложности алгоритма.
  • Линейные структуры данных.
  • Линейные алгоритмы.
  • Понятие рекурсии. Основные задачи рекурсии. Задача о ханойских башнях.
  • Задача сортировки.
  • Итеративные сортировки.
  • Задача поиска.
  • Двоичная куча. Пирамидальная сортировка.
  • Динамическое программирование. Основные задачи, решаемые с помощью динамического программирования.
  • Алгоритмы обработки строк.
  • Жадные алгоритмы.
  • Основные понятия теории графов. Представление графов в памяти компьютера. Алгоритмы обхода графов.
  • Алгоритмы, основанные на обходах графов.
Элементы контроля

Элементы контроля

  • неблокирующий Контесты
    Контесты — либо автоматические проверяемые задачки, либо в контест нужно будет сдать файлик для ручной проверки (небольшая лабораторная работа по сложностям алгоритмов) — 8 штук (6 контестов и 2 ipynb).
  • неблокирующий Тесты
    Теоретические тесты с прокторингом, 2 штуки
  • неблокирующий Экзамен
    Экзамен состоит из двух частей: 〰 теоретический тест 30% 〰 задачи в контесте 70% Экзамен проходит с прокторингом.
Промежуточная аттестация

Промежуточная аттестация

  • 2026/2027 2nd module
    0.2 * Тесты + 0.3 * Экзамен + 0.5 * Контесты
Список литературы

Список литературы

Рекомендуемая основная литература

  • Искусство программирования. Т.1: Основные алгоритмы, Кнут, Д. Э., 2011
  • Искусство программирования. Т.3: Сортировка и поиск, Кнут, Д. Э., 2004

Рекомендуемая дополнительная литература

  • Комбинаторика и теория графов : учеб. пособие, Кочетков, Ю. Ю., 2009

Авторы

  • Горденко Мария Константиновна
  • Буцкая Евгения Александровна