Курс на Stepik
Обложка курса «Алгоритмы и структуры данных: полный курс» на Stepik
3 990 ₽

Алгоритмы и структуры данных: полный курс ★ 5.000

Открыть на
STEPIK.ORG

Алгоритмы и структуры данных на практике: от Big-O, поиска и сортировок до стеков/очередей, куч, деревьев и хеш-таблиц. 120+ задач с автопроверкой, визуализации и разборы собес-задач. В дорожной карте — расширенные модули: графы, геометрия, теория чисел (обновления включены).

Показатель Текущие показатели Рост
Значение 🏆 Рейтинг 3 дн 7 дн 30 дн
Количество учеников на курсе «Алгоритмы и структуры данных: полный курс»Учеников на курсе 132
Сертификаты, выданные на курсе «Алгоритмы и структуры данных: полный курс»Сертификатов выдано 5
Отзывы о курсе «Алгоритмы и структуры данных: полный курс»Отзывов получено 2
Рейтинг курса «Алгоритмы и структуры данных: полный курс»Рейтинг курса 5.000
Уроки в курсе «Алгоритмы и структуры данных: полный курс»Количество уроков 94
Тесты в курсе «Алгоритмы и структуры данных: полный курс»Количество квизов 66
Задачи с кодом в курсе «Алгоритмы и структуры данных: полный курс»Количество задач с кодом 48
Время прохождения курса «Алгоритмы и структуры данных: полный курс»Время прохождения курса —
Стоимость курса «Алгоритмы и структуры данных: полный курс»Стоимость курса 3 990 ₽ —
Обновления курса «Алгоритмы и структуры данных: полный курс»Обновления курса — —
Дата публикации курса «Алгоритмы и структуры данных: полный курс»Дата публикации курса — ———
Последнее обновление курса «Алгоритмы и структуры данных: полный курс»Последнее обновление — ———
Сложность normal — ———

Содержание курса

Разделы в курсе «Алгоритмы и структуры данных: полный курс» 15 разделов Уроки в курсе «Алгоритмы и структуры данных: полный курс» 94 урока Тесты в курсе «Алгоритмы и структуры данных: полный курс» 66 тестов Задачи в курсе «Алгоритмы и структуры данных: полный курс» 48 задач Время прохождения курса «Алгоритмы и структуры данных: полный курс» 10 ч. Последнее обновление курса «Алгоритмы и структуры данных: полный курс» обн. 17 февраля 2026

Введение в алгоритмы и структуры данных

2 урока
1. Краткий обзор структуры курса ↗
2. Что такое алгоритмы? ↗

Оценка сложности алгоритмов

6 уроков
1. Асимптотическая сложность и нотация большого O ↗
2. Пространственная сложность (потребление памяти) ↗
3. O, o, Θ, Ω(осторожно, матан) ↗
4. Таблица распространенных сложностей ↗
5. Примеры оценки сложности алгоритмов ↗
6. Задачи ↗

Основные структуры данных

8 уроков
1. Массивы ↗
2. Списки: односвязанные, двусвязанные ↗
3. Применение списков ↗
4. Очередь и стэк: принципы FIFO и LIFO ↗
5. Реализация и задачи ↗
6. Задачи ↗
7. Проект 1: Стэк ↗
8. Проект 2: Очередь ↗

Алгоритмы поиска и сортировки

10 уроков
1. Линейный и бинарный поиски ↗
2. Модификации и тесты на алгоритмы поиска ↗
3. Сортировка пузырьком ↗
4. Сортировка вставками ↗
5. Сортировка слиянием (merge sort) ↗
6. Быстрая сортировка (Quick Sort) ↗
7. Quick Select ↗
8. Детерменированный Quick Sort ↗
9. Задачи ↗
10. Проект 3: детерминированный Quick Sort ↗

Кучи и алгоритмы на их основе

4 урока
1. Двоичная куча: свойства, использование в алгоритмах. ↗
2. Построение кучи ↗
3. Встроенные кучи в C++ и Python ↗
4. Задачи ↗

Дерево отрезков

8 уроков
1. Что такое ДО? ↗
2. Построение дерева ↗
3. Обновление значений ↗
4. Обработка запросов ↗
5. Сжатие координат ↗
6. Неявное дерево отрезков ↗
7. Задачи ↗
8. Проект 4: Дерево отрезков ↗

Бинарные деревья

9 уроков
1. Что такое дерево? ↗
2. Что такое бинарное дерево поиска (BST) ↗
3. Операции в бинарном дереве поиска ↗
4. Обходы дерева ↗
5. Проверка дерева на соответствие BST ↗
6. Минимум и максимум в BST ↗
7. Уравновешенные BST ↗
8. Использование BST в реальных задачах ↗
9. Задачи ↗

Сбалансированные деревья

7 уроков
1. Типы сбалансированных деревьев ↗
2. AVL-дерево ↗
3. Splay-дерево ↗
4. Декартово дерево ↗
5. Красно-черное дерево ↗
6. Задачи ↗
7. Проект 5: Set ↗

Хэш-таблицы

7 уроков
1. Основная идея и примеры ↗
2. Коллизии: как их обрабатывать ↗
3. Частотный анализ ↗
4. Хранение уникальных элементов ↗
5. Простая хэш-таблица на основе массива ↗
6. Обработка коллизий метод цепочек ↗
7. Задачи ↗

Алгоритмы на графах

8 уроков
1. Введение в графы ↗
2. Обходы графа (DFS и BFS) ↗
3. Компоненты связанности ↗
4. Кратчайшие пути ↗
5. Поиск минимального остовного дерева ↗
6. Топологическая сортировка ↗
7. Алгоритм Флойда-Уоршелла ↗
8. Алгоритм А и его примение ↗

Геометрические алгоритмы

6 уроков
1. Введение в геометрию ↗
2. Определение выпуклого многоугольника ↗
3. Пересечение отрезков ↗
4. Выпуклая оболочка (Convex Hull) ↗
5. Алгоритм триангуляции Делоне ↗
6. Геометрические алгоритмы в графике ↗

Теория чисел и криптография

6 уроков
1. Основы теории чисел ↗
2. Расширенный алгоритм Евклида ↗
3. Быстрое возведение в степень ↗
4. Решето Эратосфена и тесты простоты ↗
5. Китайская теорема об остатках ↗
6. RSA и основы криптографии ↗

Динамическое программирование и оптимизация

7 уроков
1. Базовые принципы ДП ↗
2. Классические задачи ДП ↗
3. ДП с восстановлением ответа ↗
4. Задача о рюкзаке ↗
5. ДП по деревьям ↗
6. ДП по маскам ↗
7. Комбинированные техники ДП ↗

Параллельные и потоковые алгоритмы

5 уроков
1. Основы многопоточного программирования ↗
2. MapReduce и обработка больших данных ↗
3. Алгоритмы для многопоточных систем ↗
4. Lock-free структуры данных ↗
5. Параллельные алгоритмы сортировки ↗

Завершающий модуль

1 урок
1. Итоги курса ↗