Сравнение алгоритмов поиска подстроки: наивный, Кнута-Морриса-Пратта и Бойера-Мура

Проект · 10–20 страниц · Информатика · 10-11 класс

Измерение времени на реальных текстах (словарь, длинный текст), выявление сильных сторон каждого алгоритма.

Когда нужно быстро найти слово в тексте, программисты выбирают алгоритм. Ты разберёшь три подхода: наивный перебор, КМП с префикс-функцией и Бойера-Мур с эвристиками. Выяснишь, какой из них быстрее работает на русских текстах, а какой — на случайных строках.

Работа по этой теме — за несколько минут. План и структура бесплатно и без регистрации, оплата — только за готовый документ с оформлением по ГОСТ.

Сгенерировать проекта по этой теме

Примерная структура работы

  1. Как работает наивный поиск и почему он медленный
    • <built-in method title of str object at 0x7f5f1da06590>
    • <built-in method title of str object at 0x7f5f07fcd2f0>
    • <built-in method title of str object at 0x7f5f1e29bd20>
  2. Префикс-функция и алгоритм Кнута-Морриса-Пратта
    • <built-in method title of str object at 0x7f5f1da06a70>
    • <built-in method title of str object at 0x7f5f22589130>
    • <built-in method title of str object at 0x7f5f07f57830>
  3. Эвристики Бойера-Мура: стоп-символ и суффикс
    • <built-in method title of str object at 0x7f5f1da0fdd0>
    • <built-in method title of str object at 0x7f5f07fcde30>
    • <built-in method title of str object at 0x7f5f1da0f220>
  4. Эксперимент: замер времени на реальных данных
    • <built-in method title of str object at 0x7f5f1c09ab30>
    • <built-in method title of str object at 0x7f5f07f57c90>
    • <built-in method title of str object at 0x7f5f1e3f0e40>

Структуру можно менять: перед оплатой вы бесплатно правите главы и параграфы под требования преподавателя.