Курс на Stepik
Обложка курса «Алгоритмы: теория и практика. Методы» на Stepik
Бесплатно

Алгоритмы: теория и практика. Методы ★ 4.724

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

В курсе будут разобраны основные алгоритмические методы: жадные алгоритмы, «разделяй и властвуй», динамическое программирование. Помимо теоретических основ, будут рассмотрены тонкости реализации рассмотренных алгоритмов на языках C++, Java и Python. Слушателям будет предложено реализовать большинство разобранных в курсе алгоритмов. Решения будут проверяться тестирующей системой на тщательно подобранных тестах.

Показатель Текущие показатели Рост
Значение 🏆 Рейтинг 3 дн 7 дн 30 дн
Количество учеников на курсе «Алгоритмы: теория и практика. Методы»Учеников на курсе 166 639
Сертификаты, выданные на курсе «Алгоритмы: теория и практика. Методы»Сертификатов выдано 9 191
Отзывы о курсе «Алгоритмы: теория и практика. Методы»Отзывов получено 409
Рейтинг курса «Алгоритмы: теория и практика. Методы»Рейтинг курса 4.724
Уроки в курсе «Алгоритмы: теория и практика. Методы»Количество уроков 49
Тесты в курсе «Алгоритмы: теория и практика. Методы»Количество квизов 10
Задачи с кодом в курсе «Алгоритмы: теория и практика. Методы»Количество задач с кодом 21
Время прохождения курса «Алгоритмы: теория и практика. Методы»Время прохождения курса —
Обновления курса «Алгоритмы: теория и практика. Методы»Обновления курса — —
Дата публикации курса «Алгоритмы: теория и практика. Методы»Дата публикации курса — ———
Последнее обновление курса «Алгоритмы: теория и практика. Методы»Последнее обновление — ———

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

Разделы в курсе «Алгоритмы: теория и практика. Методы» 10 разделов Уроки в курсе «Алгоритмы: теория и практика. Методы» 49 уроков Тесты в курсе «Алгоритмы: теория и практика. Методы» 10 тестов Задачи в курсе «Алгоритмы: теория и практика. Методы» 21 задача Время прохождения курса «Алгоритмы: теория и практика. Методы» 30 ч. Последнее обновление курса «Алгоритмы: теория и практика. Методы» обн. 10 октября 2026

Обзор

3 урока
1. Обзор ↗
2. Математические основы ↗
3. Алгоритмические собеседования ↗

Введение: теория и задачи

4 урока
1. Введение ↗
2. Числа Фибоначчи ↗
3. Наибольший общий делитель ↗
4. O-символика ↗

Введение: практика и разбор задач

9 уроков
1. Практика на C++: Введение ↗
2. Практика на C++: Числа Фибоначчи ↗
3. Практика на C++: Наибольший общий делитель ↗
4. Практика на Python: Введение ↗
5. Практика на Python: Числа Фибоначчи ↗
6. Практика на Python: Наибольший общий делитель ↗
7. Практика на Java: Введение ↗
8. Практика на Java: Числа Фибоначчи ↗
9. Практика на Java: Наибольший общий делитель ↗

Жадные алгоритмы: теория и задачи

3 урока
1. Введение ↗
2. Коды Хаффмана ↗
3. Очереди с приоритетами ↗

Жадные алгоритмы: практика и разбор задач

6 уроков
1. Практика на C++: Непрерывный рюкзак ↗
2. Практика на C++: Коды Хаффмана ↗
3. Практика на Python: Непрерывный рюкзак ↗
4. Практика на Python: Коды Хаффмана ↗
5. Практика на Java: Непрерывный рюкзак ↗
6. Практика на Java: Коды Хаффмана ↗

«Разделяй и властвуй»: теория и задачи

9 уроков
1. Двоичный поиск ↗
2. Умножение чисел ↗
3. Умножение матриц ↗
4. Сортировка слиянием ↗
5. Быстрая сортировка ↗
6. Порядковые статистики ↗
7. Сортировка кучей ↗
8. Сортировки, основанные не на сравнениях ↗
9. Рекуррентные соотношения ↗

«Разделяй и властвуй»: практика и разбор задач

4 урока
1. Практика на C++: Двоичный поиск ↗
2. Практика на Python: Двоичный поиск ↗
3. Практика на Java: Двоичный поиск ↗
4. Практика на Java: Число инверсий ↗

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

7 уроков
1. Введение ↗
2. Наибольшая возрастающая подпоследовательность ↗
3. Расстояние редактирования ↗
4. Рюкзак ↗
5. Перемножение последовательности матриц ↗
6. Независимые множества во взвешенных деревьях ↗
7. Обзор ↗

Динамическое программирование: практика и разбор задач

3 урока
1. Практика на C++: Расстояние редактирования ↗
2. Практика на Python: Расстояние редактирования ↗
3. Практика на Java: Расстояние редактирования ↗

Заключительный модуль

1 урок
1. Отзывы и предложения ↗