Мы используем cookie для стабильной работы сервиса. Подробнее

Фундаментальные алгоритмы на Python

ФорматОнлайн
Длительность4-5 часов в неделю
Объём12 занятий
О курсе

Подробнее

12 модулей: поиск, сортировки, массивы, строки, графы, деревья, динамическое программирование, матрицы, структуры данных, теория чисел, шифрование, базовое ML Каждый шаг: краткая теория (разворачивающиеся блоки), псевдокод, пример реализации, шаблон решения, автоматическая проверка Автопроверка: видимые/скрытые тесты, детерминированная генерация данных, корректная обработка погрешностей для вещественных ответов Среда выполнения: Python 3.x на платформе Stepik, без сетевого доступа, адекватные лимиты по времени/памяти
Требования

Что нужно для старта

  • Базовые навыки Python: типы данных, циклы, функции, работа со stdin/stdout
  • Базовое представление об оценке сложности (O‑нотация)
  • Минимум математики: арифметика, массивы/матрицы; базовые понятия о графах приветствуются
  • Ничего устанавливать не требуется: всё выполняется в браузере
Результат

Что вы получите

  • Реализовывать классические алгоритмы: поиск, сортировки, графы, деревья, динамическое программирование, матрицы
  • Работать со структурами данных: стек, очередь, хеш-таблица, бинарная куча, связный список
  • Применять базовые методы теории чисел и шифрования: НОД, факторизация, простота, решето, Цезарь, Виженер, XOR, упрощённая RSA
  • Использовать базовые алгоритмы ML: линейная/логистическая регрессии, kNN, линейный SVM, градиентный спуск
  • Писать корректный код под stdin/stdout, проходящий тесты; оценивать асимптотику решений
  • Следовать шаблону “теория → алгоритм → пример → реализация → автопроверка”
Аудитория

Для кого этот курс

  • 👍Начинающие и продолжающие разработчики, желающие систематизировать алгоритмическую базу
  • 👍Студенты и слушатели, готовящиеся к собеседованиям и алгоритмическим задачам
  • 👍Преподаватели/менторы — как набор тщательно проверяемых практик с автотестами
Содержание

Программа курса

12 занятий
№ТемаЧто внутри
01Алгоритмы поиска

- Линейный поиск
- Бинарный поиск
- Поиск в ширину (BFS)
- Поиск в глубину (DFS)

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

- Сортировка пузырьком (Bubble Sort)
- Сортировка выбором (Selection Sort)
- Сортировка вставками (Insertion Sort)
- Быстрая сортировка (Quick Sort)
- Сортировка слиянием (Merge Sort)
- Пирамидальная сортировка (Heap Sort)
- Подсчётная сортировка (Counting Sort)
- Радикс-сортировка (Radix Sort)

03Алгоритмы работы с массивами

- Поиск подмассива
- Нахождение максимального/минимального элемента
- Удаление дубликатов
- Перестановки и комбинации
- Работа со слайсами и срезами
- Максимум суммы подмассива (алгоритм Кадана)

04Алгоритмы работы со строками

- Поиск подстроки (алгоритм Кнута-Морриса-Пратта, KMP)
- Обращение строки
- Палиндромы
- Удаление лишних пробелов
- Регулярные выражения
- Сжатие строк

05Алгоритмы работы с графами

- Обход графа (BFS и DFS)
- Алгоритм Дейкстры (нахождение кратчайшего пути)
- Минимальное остовное дерево (алгоритмы Прима и Крускала)
- Определение циклов
- Топологическая сортировка

06Алгоритмы работы с деревьями

- Обход дерева (in-order, pre-order, post-order)
- Высота дерева
- Симметричность дерева
- Поиск в бинарном дереве
- Строительство дерева из обходов

07Алгоритмы динамического программирования

- Задача о рюкзаке
- Наибольшая общая подпоследовательность (LCS)
- Наибольшая возрастающая подпоследовательность (LIS)
- Вычисление чисел Фибоначчи с памятью
- Построение оптимальных решений

08Алгоритмы работы с матрицами

- Транспонирование матрицы
- Умножение матриц
- Поиск минимального/максимального элемента
- Поиск пути в матрице (лабиринт)
- Вывод спирали матрицы

09Алгоритмы работы с структурами данных

- Реализация стека и очереди
- Хэширование и хеш-таблицы
- Работа с бинарными кучами
- Связанные списки: удаление, вставка, обращение

10Алгоритмы теории чисел

- НОД (алгоритм Евклида)
- Разложение на множители
- Проверка на простоту
- Генерация случайных простых чисел
- Числа Фибоначчи
- Решето Эратосфена

11Алгоритмы шифрования

- Шифр Цезаря
- Шифр Виженера
- XOR-шифрование
- RSA (упрощённая реализация)

12Алгоритмы машинного обучения (базовые)

- Линейная регрессия
- Логистическая регрессия
- k-ближайших соседей (kNN)
- Метод опорных векторов (SVM)
- Градиентный спуск

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

- Линейный поиск
- Бинарный поиск
- Поиск в ширину (BFS)
- Поиск в глубину (DFS)

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

- Сортировка пузырьком (Bubble Sort)
- Сортировка выбором (Selection Sort)
- Сортировка вставками (Insertion Sort)
- Быстрая сортировка (Quick Sort)
- Сортировка слиянием (Merge Sort)
- Пирамидальная сортировка (Heap Sort)
- Подсчётная сортировка (Counting Sort)
- Радикс-сортировка (Radix Sort)

03Алгоритмы работы с массивами

- Поиск подмассива
- Нахождение максимального/минимального элемента
- Удаление дубликатов
- Перестановки и комбинации
- Работа со слайсами и срезами
- Максимум суммы подмассива (алгоритм Кадана)

04Алгоритмы работы со строками

- Поиск подстроки (алгоритм Кнута-Морриса-Пратта, KMP)
- Обращение строки
- Палиндромы
- Удаление лишних пробелов
- Регулярные выражения
- Сжатие строк

05Алгоритмы работы с графами

- Обход графа (BFS и DFS)
- Алгоритм Дейкстры (нахождение кратчайшего пути)
- Минимальное остовное дерево (алгоритмы Прима и Крускала)
- Определение циклов
- Топологическая сортировка

06Алгоритмы работы с деревьями

- Обход дерева (in-order, pre-order, post-order)
- Высота дерева
- Симметричность дерева
- Поиск в бинарном дереве
- Строительство дерева из обходов

07Алгоритмы динамического программирования

- Задача о рюкзаке
- Наибольшая общая подпоследовательность (LCS)
- Наибольшая возрастающая подпоследовательность (LIS)
- Вычисление чисел Фибоначчи с памятью
- Построение оптимальных решений

08Алгоритмы работы с матрицами

- Транспонирование матрицы
- Умножение матриц
- Поиск минимального/максимального элемента
- Поиск пути в матрице (лабиринт)
- Вывод спирали матрицы

09Алгоритмы работы с структурами данных

- Реализация стека и очереди
- Хэширование и хеш-таблицы
- Работа с бинарными кучами
- Связанные списки: удаление, вставка, обращение

10Алгоритмы теории чисел

- НОД (алгоритм Евклида)
- Разложение на множители
- Проверка на простоту
- Генерация случайных простых чисел
- Числа Фибоначчи
- Решето Эратосфена

11Алгоритмы шифрования

- Шифр Цезаря
- Шифр Виженера
- XOR-шифрование
- RSA (упрощённая реализация)

12Алгоритмы машинного обучения (базовые)

- Линейная регрессия
- Логистическая регрессия
- k-ближайших соседей (kNN)
- Метод опорных векторов (SVM)
- Градиентный спуск

Организатор

Автор курса

StepikStepik
Stepik — образовательная платформа и конструктор онлайн-курсов. Мы разрабатываем алгоритмы адаптивного обучения, сотрудничаем с авторами MOOC, помогаем в проведении олимпиад и программ переподготовки. Наша цель — сделать образование открытым и удобным. Stepik — широко известная российская образовательная платформа, основанная в 2013 году. На Stepik зарегистрировано более миллиона пользователей из России и стран СНГ. В настоящее время на Stepik представлены несколько тысяч учебных курсов на самые разные темы.
Подробнее об авторе
Мнения учеников

Отзывы о курсе

Оставьте отзыв

Расскажите о качестве обучения, поддержке и результате. Это поможет другим выбрать организацию осознанно.

Напишите ваш коментарий, не менее 30 символов

Нажимая кнопку, вы даете согласие на обработку персональных данных

Оставьте заявку

Консультант ответит на вопросы о курсе «Фундаментальные алгоритмы на Python» и поможет разобраться в деталях обучения.

Комментарий ...

Нажимая кнопку, вы даете согласие на обработку персональных данных

Информация обновлена 3 сентября 2026 г.

Продолжить выбор

Похожие курсы

Программа: Твой JavaScript
Программа: Твой JavaScript

Цель курса - дать вам исчерпывающее понимание JavaScript. Мы не обещаем сделать из вас сеньора за две недели, это сказки. Наша задача - предоставить самую подробную и глубокую баз…

Онлайн21 занятий
4 250 ₽
Основы C#
Основы C#

Курс несомненно подойдёт начинающим разработчикам, который хотят освоить современный и востребованный язык программирования. Курс мы начнём с изучения основ - встроенных в язык ти…

Онлайн10 занятий
3 999 ₽
AI-first разработка на Python
−25%1 час
AI-first разработка на Python

Соберете и настроите свою профессиональную среду для разработки с агентами: от написания кода до ревью, автотестов и проверки безопасности.

Онлайн12 занятий
Домашние заданияИнтерактивные тренажёры+3
16 900 ₽−25%
12 600 ₽от 738 ₽/мес на 24 мес.
Начать без затрат

Бесплатные курсы

Python для решения практических задач
Бесплатно
Python для решения практических задач

Научились решать простые задачи на питоне, но не можете понять, как сделать что-то полезное? Наш курс научит вас правильно гуглить! На примерах задач сбора данных (Data Scraping)…

Онлайн5 занятий
Бесплатно
Структуры данных предметной области
Бесплатно
Структуры данных предметной области

Основные задачи дисциплины: − Дальнейшее развитие и углубление навыков алгоритмизации и программирования при решении прикладных задач предметной области. − Знакомство с реализацие…

Онлайн5 занятий
Бесплатно
Разработка ML сервиса: от идеи к прототипу
Бесплатно4-5 часов в неделю
Разработка ML сервиса: от идеи к прототипу

Интенсив посвящен изучению подходов к анализу данных и построению простых моделей машинного обучения. Также в курсе делается акцент на построение веб-сервиса, реализующего проведе…

Онлайн6 занятий
Бесплатно