Изменения

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

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

113 байт добавлено, 16:37, 11 мая 2014
м
Алгоритм
Если при сравнении текста и шаблона совпало один или больше символов, шаблон сдвигается в зависимости от того, какой суффикс совпал.
Если существует такая подстрока <tex>u</tex>, что она полностью входит в <tex>x</tex> и идет справа от символа, отличного от <tex>x[i]</tex>, то сдвиг идет на всю длину этого суффикса. Ясно, что в таком случае имеет смысл начинать сравнение не с очередного символа от конца <tex>x</tex>, а с левого конца подстроки перейти к следующей по порядку подстроке равной суффиксу шаблона <tex>x</tex> из-за того, что другие подстроки явно уже не подойдут, и продолжить сравнение уже с той позиции.
[[Файл:boyer-moore-algorithm-1.png|450px|thumb|center|'''Сдвиг хорошего суффикса''', вся подстрока <tex>u</tex> полностью встречается справа от символа <tex>c</tex>, отличного от символа <tex>a</tex>.]]
418
правок

Навигация