Python (алгоритмы)

Видеоуроки:

1. Сложность алгоритмов
    1.1. Основные понятия (видео)
    1.2. Сложность некоторых алгоритмов (видео)
    1.3. Логарифм (видео)

2. Теория чисел
    2.1. Введение в теорию чисел
        2.1.1. Арифметика остатков (видео)
        2.1.2. Обратный элемент по простому модулю (видео)
        2.1.3. НОД и НОК (видео)
        2.1.4. Расширенный алгоритм Евклида (видео)
    2.2. Базовые алгоритмы теории чисел
Лекция школьникам (видео)

3. Сортировки
    3.1. Квадратичные сортировки
        3.1.1. Постановка задачи сортировки (видео)
        3.1.2. Сортировка выбором (видео)
        3.1.3. Сортировка пузырьком (видео)
        3.1.4. Сортировка вставками (видео)
    3.2. Эффективные алгоритмы сортировки
        3.2.1. Сортировка подсчетом (видео)
        3.2.2. Сортировка слиянием (видео)
        3.2.3. Встроенные алгоритмы сортировки (видео)
    3.3. Бинарный поиск (видео)
        3.3.1. Бинарный поиск в массиве (видео)
        3.3.2. Встроенный бинарный поиск (видео)
    3.4. Бинарный поиск: вещественный и по ответу

4. Линейные алгоритмы
    4.1. Элементы с максимальной разностью (видео)
    4.2. Запросы суммы на отрезке (видео)
    4.3. Отрезок с максимальной суммой (видео)
    4.4. Отрезок с заданной суммой (видео)
Лекция ученикам (видео)

5. Линейные структуры данных
    5.1. Стек (видео)
    5.2. Очередь (видео)
    5.3. Дек (видео)

6. Линейные алгоритмы со структурами данных (доступен после 4 и 5)
    6.1. Ближайший справа элемент, меньший нашего (видео)
    6.2. Прямоугольник максимальной площади, вписанный в гистограмму (видео)
    6.3. Минимум в скользящем окне (видео)
    6.4. Минимум в скользящем окне с деком (видео)

7. Встроенные структуры данных (доступен после 3.2. и 5)
    7.1. Множества (видео)
    7.2. Операции с множествами, применение множеств (видео)
    7.3. Словари (видео)
    7.4. Хранение сложных объектов в множествах и словарях (видео)

8. Введение в динамическое программирование 
    8.1. Динамическое программирование (видео)
    8.2. Примера решения задач. Задача "Лесенка" (видео)
    8.3. Псевдодвумерное динамическое программирование (видео)
Лекция школьникам (видео)

Лекция школьникам "Перебор с возвратом" (видео)
Лекция школьникам "Отрезки на прямой" (видео)
Лекция школьникам "Начала вычислительной геометрии" (видео)
Лекция школьникам "Вычислительная геометрия" (видео)