Начальный уровень · Алгоритмы
Два указателя и окно
Объяснить палиндром и выполнить упражнение «Найти минимальное покрывающее окно», обосновав выбранный подход.
Это программа подготовки модуля. Полный урок ещё не опубликован.
Перед началом
Последовательность уроков
Палиндром
До урока: предварительные знания модуля. Результат: объяснить палиндром на примере и применить в итоговом упражнении.
Подготовить пошаговый пример, схему состояний алгоритма, типичную ошибку и способ её обнаружения.
Сумма тройки
До урока: Палиндром. Результат: объяснить сумма тройки на примере и применить в итоговом упражнении.
Подготовить пошаговый пример, схему состояний алгоритма, типичную ошибку и способ её обнаружения.
Длинная подстрока
До урока: Сумма тройки. Результат: объяснить длинная подстрока на примере и применить в итоговом упражнении.
Подготовить пошаговый пример, схему состояний алгоритма, типичную ошибку и способ её обнаружения.
Минимальное окно
До урока: Длинная подстрока. Результат: объяснить минимальное окно на примере и применить в итоговом упражнении.
Подготовить пошаговый пример, схему состояний алгоритма, типичную ошибку и способ её обнаружения.
Общие материалы для этого модуля
Основные объяснения переиспользуются между направлениями. Практика и итоговое упражнение соответствуют цели текущего модуля.
Практика
Задания находятся в программе подготовки. Для базового модуля нужны две задачи на освоение, две на применение и одна в новом контексте. Продвинутые подборки открываются после соответствующей базы.
Для каждой задачи подготовить ограничения, примеры, тесты и отдельный разбор на C++ и Python.
Проверочные вопросы
- Какие ограничения входа определяют выбор приёма «Палиндром»? Приведите допустимый и неподходящий случай.
- Как обосновать корректность упражнения «Найти минимальное покрывающее окно»? Оцените время и память и назовите граничный тест.
Критерии ответа: верные определения, подходящий пример, явные условия применимости и объяснение проверки.
Итоговое упражнение
Найти минимальное покрывающее окно
- Объединить темы модуля и объяснить выбор решения.
- Проверить нормальный, граничный и ошибочный сценарии.
- Обосновать корректность, время и память; приложить результаты проверки.