We use cookies in order to improve the quality and usability of the HSE website. More information about the use of cookies is available here, and the regulations on processing personal data can be found here. By continuing to use the site, you hereby confirm that you have been informed of the use of cookies by the HSE website and agree with our rules for processing personal data. You may disable cookies in your browser settings.

  • A
  • A
  • A
  • ABC
  • ABC
  • ABC
  • А
  • А
  • А
  • А
  • А
Regular version of the site

Applied algorithms and data structures

2024/2025
Academic Year
RUS
Instruction in Russian
4
ECTS credits
Course type:
Compulsory course
When:
2 year, 1, 2 module

Instructor

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

Аннотация

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

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

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

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

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

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

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

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

  • неблокирующий Домашнее задание 1-n
    Выдается после лекции и содержит автоматически тестируемые задачи в системе Яндекс.Контест. Пересдача домашних заданий не предусмотрена, вес каждого отдельного домашнего задания не превышает 30% от итоговой оценки. В случае обнаружения плагиата в хотя бы одной задаче - работа аннулируется с составлением докладной записки.
  • неблокирующий Экзамен
    Экзамен проходит аналогично домашним заданиям, может содержать задания разной тематики. Проводится в системе Яндекс.Контест.
Промежуточная аттестация

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

  • 2024/2025 2nd module
    Итог = Округление(0.7 * ДЗ + 0.3 * Э), где ДЗ — средняя оценка за все домашние задания, Э — оценка за экзамен.
Список литературы

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

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

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

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

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

Авторы

  • Горденко Мария Константиновна
  • Кононова Елизавета Дмитриевна
  • Рословцева Кристина Олеговна
  • Королева Анастасия Романовна