Kodomo

Пользователь

Учебная страница курса биоинформатики,
год поступления 2020

Введение в алгоритмы.

Ведомость

Расписание семинаров

1. (2 сентября) Сложность алгоритма. Элементарные операции. Кэши и устройство современного компьютера. Параллелизация (просто упомянуть). Битовые операции. Массив.

Материалы: Семинар 1. Асимптотика | Семинар 1. Битовые операции и массив

Домашнее задание: ejudge

Дедлайн: 16 сентября 23:59.

2. (9 сентября) Динамический массив. Амортизационная сложность. Рекурсия. Бинарный поиск. Наивный бинарный поиск в строковом массиве. Стратегия: разделяй и властвуй.

Материалы: Семинар 2. Динамический массив, бинарный поиск, разделяй и властвуй Семинар 2. Амортизационный анализ

Домашнее задание: не было дано в связи с техническими проблемами

3. (16 сентября) Сортированный массив. Сортировка слиянием. Быстрая сортировка. Partition. Рандомизированные алгоритмы. Поиск k-й порядковой статистики. Теорема о нижней границе сортировки. сравнениями.

Материалы: Презентация

Домашнее задание: ejudge

Дедлайн: 5 октября 23:59.

4. (23 сентября) Односвязный список. Двусвязный список. Понятие интерфейса. Стек. Реализация с помощью массива и связного списка. Очередь. Реализация с помощью списка и циклического массива. Задачи на стек и очередь.

Материалы: Презентация

Домашнее задание: ejudge

Дедлайн: 26 октября 23:59.

5. (30 сентября) Замена системной рекурсии стеком. Реализация быстрой сортировки (или другого алгоритма) с использованием стека без рекурсии. Min-Max стек. Задача на него. Задачи на рекурсию. Бэктрекинг.

Материалы: Презентация

Домашнее задание ejudge

Дедлайн: 7 ноября 23:59.

6. (7 октября) Бинарные деревья. Бинарные деревья поиска. Сбалансированные деревья. Определение красно-черных деревьев. Поиск минимального и максимального элементов, поворот, обход дерева. Поиск Lowest common ancestor.

Материалы: Презентация

Домашнее задание: ejudge

Дедлайн: 20 ноября 23:59.

7. (14 октября) Имплементация ассоциативного массива с помощью дерева. Хэш-функция и требования к ней. Хэш-таблицы с [закрытой и] открытой адресацией. Задачи на хэш-таблицы. Фильтр Блума. Разобрать на примере задачи.

Материалы: Презентация

Домашнее задание: будет объдинено со следующим домашним заданием

8. (21 октября) Сортировка подсчетом. Бинарная куча. Сортировка кучей. Очередь с приоритетом. Префиксные суммы.

Материалы: Презентация

Домашнее задание в ejudge: доступно по ссылке

Дедлайн: 06 декабря 23:59.

9. (28 октября) Контрольная работа по материалу первой части семестра

10. (11 ноября) (Поиск в строке. Наивный алгоритм. Катящийся хэш, k-меры и палиндром. Префикс-функция. Алгоритм Кнута-Морриса-Пратта. Время работы алгоритма КМП. Конечные автоматы как концепт.

Материалы: Презентация

Домашнее задание: доступно по ссылке

Дедлайн: 14 декабря, 23:59.

11. (17 ноября) Конечный автомат для поиск одного паттерна. Нагруженное дерево. Ахо-Корасик. Суффиксные ссылки и хорошие суффиксные ссылки. Ахо-Корасик как конечный автомат.

Материалы: Презентация

Домашнее задание: будет слито со следуюшим домашним заданием.

12. (24 ноября) Суффиксный бор. Суффиксное дерево. Задачи на суффиксное дерево.

Материалы: Презентация

Домашнее задание: доступно по ссылке

Дедлайн: 22 декабря, 23:59

13. (2 декабря) Задача о существовании пути между двумя городами. Система непересекающихся множеств. Графы. Виды графов. Поиск в ширину, глубину. Поиск связной компоненты.

Материалы: Презентация

Домашнее задание в ejudge: объединено со следующими.

14. (9 декабря) Взвешенные графы. Поиск кратчайшего пути. Направленный ациклический граф (DAG). Динамическое программирование на DAG. Подсчет числа путей. Представление задачи как DAG и ее решение при помощи динамического программирования.

Материалы: Презентация

15. (16 декабря) Графы без отрицательных ребер. Понятие жадного алгоритма. Простая задача на жадный алгоритм (размен монет). Для канонической системы и нет. Алгоритм Дейкстры. Очередь с приоритетом. Кодирование. Код Хаффмана.

Материалы: Презентация

16. (23 декабря) Контрольная работа по 2й части семестра

17. (30 декабря) Неразрешимые задачи. Сложность по Колмогорову. Задача остановки. P-задачи. NP-полные задачи. Доказательство NP-полноты. Метод ветвей и границ.

Материалы: Презентация

18. (Запись). Алгоритм Беллмана-Форда. Обоснование алгоритма. Проверка графа на наличие циклов отрицательного веса. Минимальное остовное дерево. Алгоритм Прима. Алгоритм Крускала.

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

Конспект лекций А.А. Миронова

Конспект

В конспекте есть опечатки и неточности, в случае расхождения материала лекций, семинаров и конспекта - задавайте вопросы в чате.

2020/Algs (последним исправлял пользователь dimabosov 2023-09-04 08:10:23)