Алгоритмы и структуры данных III. Базовый поток 2026: различия между версиями
| Строка 14: | Строка 14: | ||
'''Семинаристы:'''Вандакуров Артем Сергеевич | '''Семинаристы:'''Вандакуров Артем Сергеевич | ||
<br>Погадаев Никита Максимович | |||
==Программа курса== | ==Программа курса== | ||
Версия от 11:39, 13 августа 2026
О курсе
Краткое описание курса: Курс посвящён алгоритмам и структурам данных для эффективной обработки последовательностей, множеств ключей и строк. Рассматриваются структуры для выполнения запросов на отрезках, деревья поиска, алгоритмы обработки строк, суффиксные структуры и алгоритмы поиска подстрок.
Пререквизиты: Для освоения курса студент должен знать основы алгоритмов и структур данных, владеть основами программирования, понимать оценку сложности алгоритмов и уметь работать с массивами, деревьями и графами.
Команда курса
Руководитель курса: Ибрагимов Булат Ленарович
Лектор курса:Бердашкевич Роман Евгеньевич
Семинаристы:Вандакуров Артем Сергеевич
Погадаев Никита Максимович
Программа курса
Темы лекций и семинаров распределены на 15 учебных недель.
Форма контроля: Дифференцированный зачет
| ! Неделя !! Тема | Sparse Table. Построение за O(nn), запрос за O(1). Обобщение на многомерный случай. Дерево Фенвика. Обобщение на многомерный случай. |
- | Дерево отрезков. Построение за O(n), реализация запросов “снизу вверх”. Обобщение на многомерный случай. Дерево отрезков. Реализация запросов “сверху вниз”. Обновление на отрезке. Обобщение на многомерный случай. |
- | Декартово дерево. Операции Merge и Split. Анализ времени работы. | - | Задачи RMQ/RSQ для произвольного набора ключей. Решение с помощью бинарных деревьев поиска: запрос, обновление значений на подотрезке ключей, вставка, удаление. | - | Порядковые статистики в бинарных деревьях поиска. Деревья поиска по неявному ключу. Решение RMQ/RSQ на массиве с помощью деревьев по неявному ключу. | - | Задача LCA. Решение с помощью двоичных подъемов. | - | Сведение задачи LCA к задаче RMQ и наоборот. Алгоритм Фарах-Колтон-Бендера. | - | Поиск подстроки в строке. Префикс-функция. Z-функция. Алгоритм Кнута-Морриса-Пратта. | - | z--s преобразования. | - | Бор. Алгоритм Ахо-Корасик. | - | Суффиксный автомат. Построение за O(n). Применения. | - | Суффиксное дерево. Построение с помощью суффиксного автомата. Применения. | - | Суффиксный массив. Алгоритм Кассаи. Применения. LCP. Применения. |
- | Эвристические алгоритмы поиска подстрок. Алгоритм Бойера-Мура. | | Полиномиальный хэш. Алгоритм Рабина-Карпа. | |
Коммуникация
Прогресс студентов
Критерии оценивания и формы контроля успеваемостиОценка складывается:
За работу на семинарах можно получить дополнительный балл к оценке. На курсе 2-3 домашних работы. В каждой домашней работе есть набор обязательных задач необходимых для получения минимальной положительной оценки за курс. Задачи можно сдавать после дедлайна со штрафом 50%. Списывание ограничивает оценку за задание - не более уд(4) вне зависимости от числа самостоятельно решенных задач. Второй факт списывания - неуд за задание (пересдача курса). |