Содержание курса
1. Алгоритмы поиска
4 урока
99
44
11м
4
Открытый
1.1
Линейный поиск
↗
64
22
4м 44с
0
Закрытый
1.2
Бинарный поиск
↗
14
12
8м 43с
2
Закрытый
1.3
Поиск в ширину (BFS)
↗
13
5
-
1
Закрытый
1.4
Поиск в глубину (DFS)
↗
8
5
-
1
2. Алгоритмы сортировки
8 уроков
46
34
0м
5
Закрытый
2.1
Сортировка пузырьком (Bubble Sort)
↗
12
7
-
1
Закрытый
2.2
Сортировка выбором (Selection Sort)
↗
8
5
-
0
Закрытый
2.3
Сортировка вставками (Insertion Sort)
↗
4
4
-
0
Закрытый
2.4
Быстрая сортировка (Quick Sort)
↗
4
4
-
0
Закрытый
2.5
Сортировка слиянием (Merge Sort)
↗
4
4
-
1
Закрытый
2.6
Пирамидальная сортировка (Heap Sort)
↗
4
4
-
1
Закрытый
2.7
Подсчётная сортировка (Counting Sort)
↗
5
4
-
1
Закрытый
2.8
Радикс-сортировка (Radix Sort)
↗
5
2
-
1
3. Алгоритмы работы с массивами
6 уроков
34
24
0м
3
Закрытый
3.1
Поиск подмассива
↗
7
4
-
0
Закрытый
3.2
Нахождение максимального/минимального элемента
↗
6
6
-
0
Закрытый
3.3
Удаление дубликатов
↗
7
5
-
1
Закрытый
3.4
Перестановки и комбинации
↗
6
3
-
1
Закрытый
3.5
Работа со слайсами и срезами
↗
5
3
-
1
Закрытый
3.6
Максимум суммы подмассива (алгоритм Кадана)
↗
3
3
-
0
4. Алгоритмы работы со строками
6 уроков
22
17
0м
6
Закрытый
4.1
Поиск подстроки (алгоритм Кнута-Морриса-Пратта, KMP)
↗
4
2
-
1
Закрытый
4.2
Обращение строки
↗
4
4
-
1
Закрытый
4.3
Палиндромы
↗
5
4
-
1
Закрытый
4.4
Удаление лишних пробелов
↗
3
3
-
1
Закрытый
4.5
Регулярные выражения
↗
3
2
-
1
Закрытый
4.6
Сжатие строк
↗
3
2
-
1
5. Алгоритмы работы с графами
5 уроков
86
11
0м
4
Открытый
5.1
Обход графа (BFS и DFS)
↗
71
3
-
1
Закрытый
5.2
Алгоритм Дейкстры (нахождение кратчайшего пути)
↗
3
2
-
1
Закрытый
5.3
Минимальное остовное дерево (алгоритмы Прима и Крускала)
↗
3
2
-
0
Закрытый
5.4
Определение циклов
↗
5
2
-
1
Закрытый
5.5
Топологическая сортировка
↗
4
2
-
1
6. Алгоритмы работы с деревьями
5 уроков
20
11
0м
5
Закрытый
6.1
Обход дерева (in-order, pre-order, post-order)
↗
5
2
-
1
Закрытый
6.2
Высота дерева
↗
4
3
-
1
Закрытый
6.3
Симметричность дерева
↗
3
2
-
1
Закрытый
6.4
Поиск в бинарном дереве
↗
4
2
-
1
Закрытый
6.5
Строительство дерева из обходов
↗
4
2
-
1
7. Алгоритмы динамического программирования
5 уроков
17
15
0м
4
Закрытый
7.1
Задача о рюкзаке
↗
3
3
-
1
Закрытый
7.2
Наибольшая общая подпоследовательность (LCS)
↗
4
3
-
1
Закрытый
7.3
Наибольшая возрастающая подпоследовательность (LIS)
↗
4
3
-
0
Закрытый
7.4
Вычисление чисел Фибоначчи с памятью
↗
3
3
-
1
Закрытый
7.5
Построение оптимальных решений
↗
3
3
-
1
8. Алгоритмы работы с матрицами
5 уроков
16
12
0м
5
Закрытый
8.1
Транспонирование матрицы
↗
3
3
-
1
Закрытый
8.2
Умножение матриц
↗
4
2
-
1
Закрытый
8.3
Поиск минимального/максимального элемента
↗
3
2
-
1
Закрытый
8.4
Поиск пути в матрице (лабиринт)
↗
3
3
-
1
Закрытый
8.5
Вывод спирали матрицы
↗
3
2
-
1
9. Алгоритмы работы с структурами данных
4 урока
14
8
0м
4
Закрытый
9.1
Реализация стека и очереди
↗
4
2
-
1
Закрытый
9.2
Хэширование и хеш-таблицы
↗
4
2
-
1
Закрытый
9.3
Работа с бинарными кучами
↗
3
2
-
1
Закрытый
9.4
Связанные списки: удаление, вставка, обращение
↗
3
2
-
1
10. Алгоритмы теории чисел
6 уроков
20
12
0м
6
Закрытый
10.1
НОД (алгоритм Евклида)
↗
3
2
-
1
Закрытый
10.2
Разложение на множители
↗
3
2
-
1
Закрытый
10.3
Проверка на простоту
↗
2
2
-
1
Закрытый
10.4
Генерация случайных простых чисел
↗
5
2
-
1
Закрытый
10.5
Числа Фибоначчи
↗
4
2
-
1
Закрытый
10.6
Решето Эратосфена
↗
3
2
-
1
11. Алгоритмы шифрования
4 урока
12
8
0м
0
Закрытый
11.1
Шифр Цезаря
↗
3
2
-
0
Закрытый
11.2
Шифр Виженера
↗
3
2
-
0
Закрытый
11.3
XOR-шифрование
↗
3
2
-
0
Закрытый
11.4
RSA (упрощённая реализация)
↗
3
2
-
0
12. Алгоритмы машинного обучения (базовые)
5 уроков
20
10
0м
1
Закрытый
12.1
Линейная регрессия
↗
7
2
-
0
Закрытый
12.2
Логистическая регрессия
↗
3
2
-
1
Закрытый
12.3
k-ближайших соседей (kNN)
↗
3
2
-
0
Закрытый
12.4
Метод опорных векторов (SVM)
↗
3
2
-
0
Закрытый
12.5
Градиентный спуск
↗
4
2
-
0