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