• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
Бакалавриат 2023/2024

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

Направление: 09.03.04. Программная инженерия
Где читается: Факультет менеджмента (Пермь)
Когда читается: 2-й курс, 3 модуль
Формат изучения: без онлайн-курса
Охват аудитории: для всех кампусов НИУ ВШЭ
Язык: русский
Кредиты: 3
Контактные часы: 40

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

Аннотация

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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