Оглавление
Неделя открывает карточку. Лекция, семинар и каждое домашнее задание — отдельная ссылка, без промежуточной страницы.
- Неделя 1
лекция: Введение. Алгоритм и язык Python семинар: Модель RAM и асимптотика на Python
- Неделя 2
лекция: RAM, перебор делителей, последовательности семинар: Два указателя, окно, префиксные суммы
- Неделя 3
лекция: Сортировки. Инварианты циклов семинар: Квадратичные и линейные сортировки
- Неделя 4
лекция: Рекурсия. Бинарный поиск семинар: Рекурсия и бинарный поиск
- Неделя 5
лекция: Разделяй и властвуй: сортировки слиянием и Хоара семинар: Разделяй и властвуй: merge sort и quick sort
- Неделя 6
лекция: Коллоквиум 1 семинар: Контрольная работа 1
подготовка к коллоквиуму коллоквиум разбор контрольной контрольная
- Неделя 7
лекция: Стек, очередь, дек: классы и применения семинар: Стек, очередь, дек
- Неделя 8
лекция: Хеш-таблицы и хеш-функции семинар: Хеш-таблицы
- Неделя 9
лекция: Двоичная куча и приоритетная очередь семинар: Двоичная куча и приоритетная очередь
- Неделя 10
лекция: Динамическое программирование: задача о рюкзаке 0/1 семинар: Динамическое программирование: мемоизация и одномерные задачи
- Неделя 11
лекция: Динамическое программирование: строки (LCS, LIS, Левенштейн) семинар: Динамическое программирование: задача о рюкзаке 0/1
- Неделя 12
лекция: Коллоквиум 2 семинар: Динамическое программирование на строках
- Неделя 13
лекция: Жадные алгоритмы семинар: Жадные алгоритмы
- Неделя 14
лекция: Деревья поиска и запросы на отрезках семинар: Деревья поиска и запросы на отрезках
- Неделя 15
лекция: KD-tree семинар: KD-tree
- Неделя 16
лекция: Деревья поиска: B-tree и выбор структуры семинар: Контрольная работа 2