Рекурсия на Python
Рекурсия в Python через чтение и трассировку программ: базовые случаи, стек вызовов, бесконечная рекурсия, множественные базовые случаи и рекурсивные вызовы, рекуррентные соотношения и выбор рекурсивного пути.
Индукция
Выполните первый шаг и сразу проверьте себя.
11 коротких уроков
По 7-10 минут: можно пройти за один подход или возвращаться по частям.
Интерактив вместо конспекта
Ученик решает задачу, проверяет ответ и видит объяснение следующего шага.
Спокойный старт
Демо без оплаты и карты, а аккаунт нужен только чтобы сохранить прогресс.
Рекурсия на Python через маленькие повторяющиеся задачи
Курс для тех, кто уже знает функции, условия и базовые алгоритмы. Он помогает понять базовый случай, рекурсивный шаг и стек вызовов.
Индукция
Описывайте и программируйте индуктивные процессы.
Рекурсия
Напишите рекурсивные функции, выражающие индуктивные процессы через базовый случай и рекурсивный шаг.
Стек вызовов
Трассируйте рекурсивный стек вызовов, чтобы понять, как работает рекурсия.
Если результат непонятен, урок показывает, какие вызовы открылись и в каком порядке они возвращают значения.
Откройте шаг «Индукция» и выполните действие в модели.
Ошибка не заканчивает задание: она запускает объяснение на схеме.
Ученик видит идею на модели и переносит её в самостоятельное решение.
Маршрут курса
От функции и условия к рекурсивному мышлению и трассировке вызовов.
Индукция
Описывайте и программируйте индуктивные процессы.
Рекурсия
Напишите рекурсивные функции, выражающие индуктивные процессы через базовый случай и рекурсивный шаг.
Стек вызовов
Трассируйте рекурсивный стек вызовов, чтобы понять, как работает рекурсия.
Как избежать бесконечной рекурсии
Найдите и исправьте баги, приводящие к бесконечной рекурсии в трёх функциях для чеканки монет.
Несколько базовых случаев
Научитесь писать рекурсивные функции с несколькими базовыми случаями.
Несколько рекурсивных вызовов
Научитесь писать рекурсивные функции, которые вызывают себя несколько раз.
Нет перегруза: сначала основная идея, затем проверка понимания и самостоятельное применение.
Ученик сразу видит, где ошибся, и получает объяснение через схему.
Курс строится от первого знакомства с идеей к более самостоятельным задачам.
После регистрации можно продолжить курс и вернуться к сложным темам.
Алгоритмическое мышление
Учимся проектировать и проверять алгоритмы на классической задаче о расписании: интервалы и конфликты, жадные критерии, контрпримеры, инварианты, корректность и оптимальная подструктура. Курс развивает алгоритмическое мышление без привязки к конкретному языку.
Алгоритмы на Python
Анализ алгоритмов на Python через чтение и трассировку программ: токенизация и перебор, корректность (предусловия, инварианты цикла, контрпримеры), эффективность (лучший/худший случай, временная сложность, O-нотация) и скрытые издержки времени выполнения.
Основы информатики
Алгоритмы и фундаментальные идеи информатики: хранение информации и алгоритмы на массивах, поиск и сортировка, скорость алгоритмов и O-нотация, устойчивые паросочетания (алгоритм Гейла–Шепли), корректность и завершимость, деревья решений, параллелизм и конвейеризация, абстракция и интерфейсы, а также графы и мосты Кёнигсберга.
Мышление на Python
Основы Python через чтение и анализ программ: переменные, условная и булева логика, циклы for и while, списки, словари, строки, вложенные и цепочечные условия, работа с данными, временная сложность и алгоритмы поиска.
Что нужно знать перед курсом?
Python-функции, условия, переменные и базовые алгоритмические задачи.
Почему рекурсия сложная?
Нужно одновременно понимать текущий вызов, меньшую задачу и момент остановки.
Где рекурсия нужна?
В деревьях, графах, переборе, парсинге, фракталах и многих алгоритмах.
Курс учит писать код или понимать?
И то и другое, но главный акцент — понимать выполнение рекурсивной функции по шагам.
Начните первый урок бесплатно
Решите первые задания, а затем сохраните прогресс в аккаунте.