Алгоритм Бойера - Мура презентация

Содержание


Презентации» Информатика» Алгоритм Бойера - Мура
Алгоритм Бойера - Мура
 Применяется для поиска подстроки в строкеИстория создания
 Алгоритм поиска строки Бойера — Мура, считается наиболее быстрымОсновные идеи алгоритма
 Сканирование слева направо, сравнение справа налево
 Поиск стопСканирование и сравнение
 Совмещается начало строки и начало шаблона, проверка идетСтоп - символ
 Если с шаблоном не совпала первая сравниваемая буква,Стоп - символ
 Предположим, что мы производим поиск слова «колокол». ПерваяСтоп - символ
 В данном случае стоп-символ — «а», и шаблон сдвигаетсяСуффикс
 Если при сравнении строки и шаблона совпало 1 или большеТаблица стоп - символов
 В таблице указывается последняя позиция элемента вТаблица суффиксов
 Для каждого возможного суффикса в таблицу записывается наименьшая величина,Достоинства алгоритма
 Оптимален при отсутствии возможности провести предварительную обработку текста
 ДостаточноНедостатки алгоритма
 На больших алфавитах таблица стоп – символов может заниматьСпасибо за внимание!



Слайды и текст этой презентации
Слайд 1
Описание слайда:
Алгоритм Бойера - Мура Применяется для поиска подстроки в строке


Слайд 2
Описание слайда:
История создания Алгоритм поиска строки Бойера — Мура, считается наиболее быстрым среди алгоритмов общего назначения, предназначенных для поиска подстроки в строке. Был разработан Робертом Бойером (англ.)русск. и Джеем Муром в 1977 году.

Слайд 3
Описание слайда:
Основные идеи алгоритма Сканирование слева направо, сравнение справа налево Поиск стоп - символа Поиск совпавшего суффикса

Слайд 4
Описание слайда:
Сканирование и сравнение Совмещается начало строки и начало шаблона, проверка идет с последнего символа шаблона Если символы совпадают, то производится сравнение предпоследнего символа шаблона и т.д. Если все символы совпали, то образец найден

Слайд 5
Описание слайда:
Стоп - символ Если с шаблоном не совпала первая сравниваемая буква, то сдвигаем шаблон вправо до последней такой же буквы Если в шаблоне нет стоп – символа, то сдвигаем шаблон за стоп – символ.

Слайд 6
Описание слайда:
Стоп - символ Предположим, что мы производим поиск слова «колокол». Первая же буква не совпала — «к» (назовём эту букву стоп-символом). Тогда можно сдвинуть шаблон вправо до последней его буквы «к». Если стоп-символа в шаблоне вообще нет, шаблон смещается за этот стоп-символ.

Слайд 7
Описание слайда:
Стоп - символ В данном случае стоп-символ — «а», и шаблон сдвигается так, чтобы он оказался прямо за этой буквой. В алгоритме Бойера-Мура эвристика стоп-символа вообще не смотрит на совпавший суффикс, так что первая буква шаблона («к») окажется под «л», и будет проведена одна заведомо холостая проверка. Если стоп-символ «к» оказался за другой буквой «к», эвристика стоп-символа не работает.

Слайд 8
Описание слайда:
Суффикс Если при сравнении строки и шаблона совпало 1 или больше символов, то шаблон сдвигается в зависимости от того, какой суффикс совпал В данном случае совпал суффикс «окол», и шаблон сдвигается вправо до ближайшего «окол». Если подстроки «окол» в шаблоне больше нет, но он начинается на «кол», сдвигается до «кол», и т. д.

Слайд 9
Описание слайда:
Таблица стоп - символов В таблице указывается последняя позиция элемента в шаблоне (за исключением последней буквы) Если в шаблоне нет такого элемента то в таблицу записывается ноль

Слайд 10
Описание слайда:
Таблица суффиксов Для каждого возможного суффикса в таблицу записывается наименьшая величина, на которую надо сдвинуть шаблон чтобы он снова совпал с суффиксом

Слайд 11
Описание слайда:
Достоинства алгоритма Оптимален при отсутствии возможности провести предварительную обработку текста Достаточно быстрый в большинстве случаев

Слайд 12
Описание слайда:
Недостатки алгоритма На больших алфавитах таблица стоп – символов может занимать много памяти На некоторых “неудачных” текстах его скорость сильно снижается

Слайд 13
Описание слайда:
Спасибо за внимание!


Скачать презентацию на тему Алгоритм Бойера - Мура можно ниже:

Похожие презентации