Алгоритмы поиска подстроки в строке
Состав работы
|
|
|
|
Необходимые программы
Работа представляет собой zip архив с файлами (распаковать онлайн), которые открываются в программах:
- Microsoft Word
Описание
Введение. 3
Часть 1. Теоретические сведения об алгоритмах поиска подстроки в строке. 5
1.1. Основные понятия. 5
1.1.1 Строка, её длина, подстрока. 5
1.1.2. Понятие о сложности алгоритма. 6
1.2. Алгоритмы основанные на методе последовательного поиска. 7
1.2.1. Алгоритм последовательного (прямого) поиска (The Brute Force Algorithm). 7
1.2.2. Алгоритм Рабина. 7
1.3. Алгоритм Кнута - Морриса - Пратта (КМП). 10
1.4. Алгоритм Бойера – Мура и некоторые его модификации. 13
1.4.1. Алгоритм Боейера – Мура. 13
1.4.2. Модификации БМ. 15
1.5. Поиск подстрок с помощью конечного автомата. 17
1.5.1. Структура автомата. 17
1.5.2. Пример построения конечного автомата. 19
Часть 2. Экспериментальный анализ алгоритмов. 21
2.1. Суть эксперимента. 21
2.2. Результаты и анализ эксперимента. 22
Заключение. 24
Библиографический список. 25
Введение
Те, кому приходиться часто работать с текстовыми редакторами, знают цену функции нахождения нужных слов в тексте, существенно облегчающей редактирование документов и поиск нужной информации. Действительно, современные программы обработки текста приучили нас к такой удобной возможности, как поиск и замена фрагментов, и если вы разрабатываете подобную программу, пользователь вправе ожидать, что вы предоставите в его распоряжение соответствующие команды.
Конечно, сейчас функции поиска инкапсулированы во многие языки программирования высокого уровня – чтобы найти строчку в небольшом тексте вы, наверное, используете встроенную функцию. Но если такого рода поиск является ключевой задачей вашей программы, знать принципы организации функций поиска будет совсем нелишне. При этом. в готовых подпрограммах далеко не всегда все написано лучшим образом. Во-первых, в стандартных функциях не всегда используются самые эффективные алгоритмы, а во-вторых, вполне возможно, что вам понадобится изменить стандартное поведение этих функций (например, предусмотреть возможность поиска по шаблону). Наконец, область применения функции поиска не ограничивается одними лишь текстовыми редакторами. Следует отметить использование алгоритмов поиска при индексации страниц поисковым роботом, где актуальность информации напрямую зависит от скорости нахождения ключевых слов в тексте html – страницы [9, с. 10]. Работа простейшего спам – фильтра, заключается в нахождении в тексте письма фраз таких, как «Миллион за час» или «Раскрутка сайта». Все вышесказанное говорит об актуальности проблемы, затрагиваемой работой.
Часть 1. Теоретические сведения об алгоритмах поиска подстроки в строке. 5
1.1. Основные понятия. 5
1.1.1 Строка, её длина, подстрока. 5
1.1.2. Понятие о сложности алгоритма. 6
1.2. Алгоритмы основанные на методе последовательного поиска. 7
1.2.1. Алгоритм последовательного (прямого) поиска (The Brute Force Algorithm). 7
1.2.2. Алгоритм Рабина. 7
1.3. Алгоритм Кнута - Морриса - Пратта (КМП). 10
1.4. Алгоритм Бойера – Мура и некоторые его модификации. 13
1.4.1. Алгоритм Боейера – Мура. 13
1.4.2. Модификации БМ. 15
1.5. Поиск подстрок с помощью конечного автомата. 17
1.5.1. Структура автомата. 17
1.5.2. Пример построения конечного автомата. 19
Часть 2. Экспериментальный анализ алгоритмов. 21
2.1. Суть эксперимента. 21
2.2. Результаты и анализ эксперимента. 22
Заключение. 24
Библиографический список. 25
Введение
Те, кому приходиться часто работать с текстовыми редакторами, знают цену функции нахождения нужных слов в тексте, существенно облегчающей редактирование документов и поиск нужной информации. Действительно, современные программы обработки текста приучили нас к такой удобной возможности, как поиск и замена фрагментов, и если вы разрабатываете подобную программу, пользователь вправе ожидать, что вы предоставите в его распоряжение соответствующие команды.
Конечно, сейчас функции поиска инкапсулированы во многие языки программирования высокого уровня – чтобы найти строчку в небольшом тексте вы, наверное, используете встроенную функцию. Но если такого рода поиск является ключевой задачей вашей программы, знать принципы организации функций поиска будет совсем нелишне. При этом. в готовых подпрограммах далеко не всегда все написано лучшим образом. Во-первых, в стандартных функциях не всегда используются самые эффективные алгоритмы, а во-вторых, вполне возможно, что вам понадобится изменить стандартное поведение этих функций (например, предусмотреть возможность поиска по шаблону). Наконец, область применения функции поиска не ограничивается одними лишь текстовыми редакторами. Следует отметить использование алгоритмов поиска при индексации страниц поисковым роботом, где актуальность информации напрямую зависит от скорости нахождения ключевых слов в тексте html – страницы [9, с. 10]. Работа простейшего спам – фильтра, заключается в нахождении в тексте письма фраз таких, как «Миллион за час» или «Раскрутка сайта». Все вышесказанное говорит об актуальности проблемы, затрагиваемой работой.
Другие работы
Преимущества и недостатки контент-анализа по сравнению с опросом
Lokard
: 4 февраля 2014
введение
1. Природа метода опроса в социологическом исследовании
1.1 Сущность и значение метода опроса
1.2 Два основных класса опросных методов: интервью и анкетирование
2. Контент-анализ: возможности его использования и техника проведения
2.1 Возможности использования контент-анализа
2.2 Техника проведения контент-анализа
3. Преимущества и недостатки контент-анализа по сравнению с опросом
3.1 Преимущества контент-анализа
3.2 Основные недостатки контент-анализа
Заключение
библиография
введение
15 руб.
Контрольная работа Математические основы моделирования сетей связи. Вариант №19.
teacher-sib
: 30 августа 2023
Задано 10 населённых пунктов, связанных сетью. Расстояние между пунктами указано в километрах. Требуется:
Задача № 1. Определить номера населённых пунктов, размещение телефонных станций в которых будет оптимальным по удалённости от самого дальнего пункта.
Задача № 2. Найти минисуммное решение задачи размещения 5-и телефонных станций из предложенных вариантов (1; 3; 4;6;8), (2;5;7;9;10), (3;5;6;8;10), (1; 2; 5;7;9 (таблица 1).
Задача № 3. Определить, по каким кабельным линиям работник станции 2 P
1000 руб.
ИГ.03.11.01 - Призма с вырезом
Чертежи СибГАУ им. Решетнева
: 28 июля 2023
Все выполнено в программе КОМПАС 3D v16
Вариант 11
ИГ.03.11.01 - Призма с вырезом
Построить три проекции геометрического тела. Показать линии невидимого контура.
В состав работы входят пять файлов:
- 3D модель геометрического тела, расширение файла *.m3d (для открытия требуется программа компас не ниже 16 версии);
- чертеж формата А3 в трёх видах с сохранением всех линий построения, все проекции вершин призмы обозначены буквами, вершин выреза - цифрами, расширение файла *.cdw (для открытия тр
100 руб.
Основы теплотехники и гидравлики Загорск 1985 Задача 44
Z24
: 20 ноября 2025
Насос подает воду в количестве Q на высоту h, общая длина нагнетательной трубы l, а диаметр трубы d. На трубе имеются два поворота на 90º угольником, скорость движения воды υ. Коэффициент трения по длине λ, коэффициент местного сопротивления ξ=1,1. Определить полный напор насоса Н и потребляемую мощность N, если КПД насоса 0,6.
150 руб.