Оглавление

Неделя открывает карточку. Лекция, семинар и каждое домашнее задание — отдельная ссылка, без промежуточной страницы.

  1. Неделя 1

    лекция: Введение. Алгоритм и язык Python семинар: Модель RAM и асимптотика на Python

    лекция семинар

  2. Неделя 2

    лекция: RAM, перебор делителей, последовательности семинар: Два указателя, окно, префиксные суммы

    лекция семинар ДЗ семинара

  3. Неделя 3

    лекция: Сортировки. Инварианты циклов семинар: Квадратичные и линейные сортировки

    лекция семинар ДЗ лекции ДЗ семинара

  4. Неделя 4

    лекция: Рекурсия. Бинарный поиск семинар: Рекурсия и бинарный поиск

    лекция семинар

  5. Неделя 5

    лекция: Разделяй и властвуй: сортировки слиянием и Хоара семинар: Разделяй и властвуй: merge sort и quick sort

    лекция семинар

  6. Неделя 6

    лекция: Коллоквиум 1 семинар: Контрольная работа 1

    подготовка к коллоквиуму коллоквиум разбор контрольной контрольная

  7. Неделя 7

    лекция: Стек, очередь, дек: классы и применения семинар: Стек, очередь, дек

    лекция семинар

  8. Неделя 8

    лекция: Хеш-таблицы и хеш-функции семинар: Хеш-таблицы

    лекция семинар

  9. Неделя 9

    лекция: Двоичная куча и приоритетная очередь семинар: Двоичная куча и приоритетная очередь

  10. Неделя 10

    лекция: Динамическое программирование: задача о рюкзаке 0/1 семинар: Динамическое программирование: мемоизация и одномерные задачи

  11. Неделя 11

    лекция: Динамическое программирование: строки (LCS, LIS, Левенштейн) семинар: Динамическое программирование: задача о рюкзаке 0/1

  12. Неделя 12

    лекция: Коллоквиум 2 семинар: Динамическое программирование на строках

  13. Неделя 13

    лекция: Жадные алгоритмы семинар: Жадные алгоритмы

  14. Неделя 14

    лекция: Деревья поиска и запросы на отрезках семинар: Деревья поиска и запросы на отрезках

  15. Неделя 15

    лекция: KD-tree семинар: KD-tree

  16. Неделя 16

    лекция: Деревья поиска: B-tree и выбор структуры семинар: Контрольная работа 2