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

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

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

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

Аннотация

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

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

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

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

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

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

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

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

  • неблокирующий Контест №1
  • неблокирующий Контест №2
  • неблокирующий Контест №3
  • неблокирующий Контрольная работа в формате устного зачета
  • неблокирующий Экзамен в 4 модуле
Промежуточная аттестация

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

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

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

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

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

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

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