Изменения

Перейти к: навигация, поиск

Алгоритм Бойера-Мура

Нет изменений в размере, 19:36, 10 мая 2014
м
Алгоритм
Если существует такая подстрока <tex>u</tex>, что она полностью входит в <tex>x</tex> и идет справа от символа, отличного от <tex>x[i]</tex>, то сдвиг идет на всю длину этого суффикса.
[[Файл:boyer-moore-algorithm-1.gifpng|450px|thumb|center|'''Сдвиг хорошего суффикса''', вся подстрока <tex>u</tex> полностью встречается справа от символа <tex>c</tex>, отличного от символа <tex>a</tex>.]]
Если не существует такой подстроки, то смещение состоит в выравнивании самого длинного суффикса <tex>v</tex> подстроки <tex>y[i+j+1 .. j+m-1]</tex> с соответствующим префиксом <tex>x</tex>.
[[Файл:boyer-moore-algorithm-2.gifpng|450px|thumb|center|'''Сдвиг хорошего суффикса''', только суффикс подстроки <tex>u</tex> повторно встречается в <tex>x</tex>.]]
===Правило сдвига плохого символа===
418
правок

Навигация