← Программа обучения

Средний уровень · Алгоритмы

Рекурсия и backtracking

Объяснить подмножества и выполнить упражнение «Сгенерировать комбинации без дубликатов», обосновав выбранный подход.

Это программа подготовки модуля. Полный урок ещё не опубликован.

Перед началом

Последовательность уроков

  1. Подмножества

    До урока: предварительные знания модуля. Результат: объяснить подмножества на примере и применить в итоговом упражнении.

    Подготовить пошаговый пример, схему состояний алгоритма, типичную ошибку и способ её обнаружения.

  2. Перестановки

    До урока: Подмножества. Результат: объяснить перестановки на примере и применить в итоговом упражнении.

    Подготовить пошаговый пример, схему состояний алгоритма, типичную ошибку и способ её обнаружения.

  3. Комбинации

    До урока: Перестановки. Результат: объяснить комбинации на примере и применить в итоговом упражнении.

    Подготовить пошаговый пример, схему состояний алгоритма, типичную ошибку и способ её обнаружения.

  4. Размещения

    До урока: Комбинации. Результат: объяснить размещения на примере и применить в итоговом упражнении.

    Подготовить пошаговый пример, схему состояний алгоритма, типичную ошибку и способ её обнаружения.

Общие материалы для этого модуля

Основные объяснения переиспользуются между направлениями. Практика и итоговое упражнение соответствуют цели текущего модуля.

Практика

Задания находятся в программе подготовки. Для базового модуля нужны две задачи на освоение, две на применение и одна в новом контексте. Продвинутые подборки открываются после соответствующей базы.

Для каждой задачи подготовить ограничения, примеры, тесты и отдельный разбор на C++ и Python.

Проверочные вопросы

  1. Какие ограничения входа определяют выбор приёма «Подмножества»? Приведите допустимый и неподходящий случай.
  2. Как обосновать корректность упражнения «Сгенерировать комбинации без дубликатов»? Оцените время и память и назовите граничный тест.

Критерии ответа: верные определения, подходящий пример, явные условия применимости и объяснение проверки.

Итоговое упражнение

Сгенерировать комбинации без дубликатов

  • Объединить темы модуля и объяснить выбор решения.
  • Проверить нормальный, граничный и ошибочный сценарии.
  • Обосновать корректность, время и память; приложить результаты проверки.

В учебных маршрутах

Далее: ДП на интервью →