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

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

Статус: Курс обязательный (Бизнес-информатика)
Направление: 38.03.05. Бизнес-информатика
Когда читается: 1-й курс, 3, 4 модуль
Формат изучения: без онлайн-курса
Охват аудитории: для всех кампусов НИУ ВШЭ
Преподаватели: Афанасьев Виталий Олегович, Гуляченков Дмитрий Николаевич, Егоров Игорь Сергеевич, Жорниченко Илья Алексеевич, Сергеев Егор Алексеевич, Тибилов Таймураз Валерьевич
Язык: русский
Кредиты: 7
Контактные часы: 84

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

Аннотация

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

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

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

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

  • 2. Знать и уметь реализовывать основные алгоритмы сортировки и поиска порядковой статистики.
  • 1. Знать и уметь применять теорию асимптотического анализа.
  • 10. Знать и уметь реализовывать алгоритмы поиска подстроки в строке и суффиксных структур.
  • 3. Знать и уметь реализовывать основные хеш-таблицы для хранения различных типов данных.
  • 4. Знать и уметь реализовывать основные деревья поиска.
  • 5. Освоить базовые понятия теории графов, уметь решать задачи на эту тему.
  • 6. Знать и уметь реализовывать основные алгоритмы поиска кратчайшего пути в графе.
  • 7. Знать и уметь реализовывать основные алгоритмы построения остовного дерева в графе.
  • 8. Знать типовые примеры задач и уметь применять методы динамического программирования.
  • 9. Знать и уметь реализовывать алгоритмы LCA и RMQ, а также сведение их друг в друга.
Содержание учебной дисциплины

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

  • 1. Базовые алгоритмы и структуры данных
  • 2. Сортировки и порядковые статистики
  • 3. Хеш-таблицы
  • 4. Деревья поиска
  • 5. Теория графов
  • 6. Поиск путей в графе
  • 7. Остовные деревья
  • 8. Динамическое программирование
  • 9. Задачи LCA и RMQ
  • 10. Строки
Элементы контроля

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

  • неблокирующий Контест №2 (КК2)
    В случае возникновения подозрения на списывание задач в КК1, КК2, КК3, любом из ЕК - преподаватели курса в праве вызвать студентов, подозреваемых в списывании, на устную защиту своих работ. В случае, если студенты не смогли убедить преподавателей в отсутствии списывания - на таких студентов накладываются штрафы на усмотрение преподавателей в виде: 1) Полное обнуление оценки за элемент контроля. 2) Аннулирование результата решения задачи. 3) Дисциплинарных взыскание.
  • неблокирующий Контест №3 (КК3)
    В случае возникновения подозрения на списывание задач в КК1, КК2, КК3, любом из ЕК - преподаватели курса в праве вызвать студентов, подозреваемых в списывании, на устную защиту своих работ. В случае, если студенты не смогли убедить преподавателей в отсутствии списывания - на таких студентов накладываются штрафы на усмотрение преподавателей в виде: 1) Полное обнуление оценки за элемент контроля. 2) Аннулирование результата решения задачи. 3) Дисциплинарных взыскание.
  • неблокирующий Контест №1 (КК1)
    В случае возникновения подозрения на списывание задач в КК1, КК2, КК3, любом из ЕК - преподаватели курса в праве вызвать студентов, подозреваемых в списывании, на устную защиту своих работ. В случае, если студенты не смогли убедить преподавателей в отсутствии списывания - на таких студентов накладываются штрафы на усмотрение преподавателей в виде: 1) Полное обнуление оценки за элемент контроля. 2) Аннулирование результата решения задачи. 3) Дисциплинарных взыскание.
  • неблокирующий Контрольная работа в формате устного зачета (УЭ1)
    Проводится в сессию 3 модуля
  • неблокирующий Экзамен в 4 модуле (УЭ2)
  • неблокирующий Еженедельный контест (ЕК)
    В случае возникновения подозрения на списывание задач в КК1, КК2, КК3, любом из ЕК - преподаватели курса в праве вызвать студентов, подозреваемых в списывании, на устную защиту своих работ. В случае, если студенты не смогли убедить преподавателей в отсутствии списывания - на таких студентов накладываются штрафы на усмотрение преподавателей в виде: 1) Полное обнуление оценки за элемент контроля. 2) Аннулирование результата решения задачи. 3) Дисциплинарных взыскание.
Промежуточная аттестация

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

  • 2023/2024 4th module
    0.2 * Еженедельный контест (ЕК) + 0.1 * Контест №1 (КК1) + 0.1 * Контест №2 (КК2) + 0.1 * Контест №3 (КК3) + 0.2 * Контрольная работа в формате устного зачета (УЭ1) + 0.3 * Экзамен в 4 модуле (УЭ2)
Список литературы

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

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

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

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

  • Математические методы анализа алгоритмов, Грин, Д., 1987

Авторы

  • Яковлева Наталия Вадимовна
  • Русева Виктория Викторовна
  • Старичков Никита Юрьевич
  • Егоров Игорь Сергеевич