Асимптотика (4 сентября 2017)
- [15 минут] Разбор вступительного теста
- [15 минут] Информация о курсе, отчётности: контест каждую неделю, теор ДЗ каждую неделю, tex, c++, svn.
− Перерыв −
- [15 минут] Базовые обозначения, определения, свойства
- Определения (O, o, Ω, ω, Θ)
- Примеры (см. конспект)
- Следствия: f + o(f), nk от nk+1, многочлен от старшего члена.
- [20 минут] Примеры
- 5 циклов for, n5 / 5!
- Длинные числа, числа Фибоначчи на самом деле считаются за квадрат
- Найти все a2 + b2 = N двумя циклами (показываем два указателя)
- Для всех чисел от 1 до n сгенерить список делителей (nlogn, 2 цикла for, оцениваем сумму гармонического ряда).
− Перерыв −
- [20 минут] Умножение многочленов и чисел
- Умножение в столбик за O(nm), хранение чисел
- Многочлены, числа, переносы
- Алгоритм Карацубы за O(n1.58)
- [35 минут] Главные теоремы
- [15 минут] Рекуррентность: мастер теорема T(n) = aT(n/b) + nc. Доказательство времени работы Карацубы.
- [5 минут] Доказательство по индукции на примере T(n) = maxx=1..n-1[T(x) + T(n-x) + x(n-x)].
- [2 минут] Примеры на экспоненциальные соотношения: числа Фибоначчи, оценки 2n и 2n/2
- [15 минут] Теорема об экспоненциальных рекуррентных соотношениях T(n) = ∑i bi T(n-ai). Применение к числами Фибоначчи.
- [10 минут] Примеры асимптотик
- T(n) = 2T(n/2) + n, T(n) = 2T(n/2) + Cn, T(n) = 2T(n/2) + O(n)
- T(n) = T(n-1) + n
- T(n) = T(n-3) + T(n-3)
- T(n) = T(n-1) + T(n-2) + T(n-2)