Турбо-алгоритм Бойера-Мура — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
(Ссылки)
Строка 1: Строка 1:
'''Алгоритм Бойера-Мура''', разработанный двумя учеными {{---}} Бойером (Robert S. Boyer) и Муром (J. Strother Moore), считается наиболее быстрым среди алгоритмов общего назначения, предназначенных для поиска подстроки в строке. Важной особенностью алгоритма является то, что он выполняет сравнения в шаблоне справа налево в отличии от многих других алгоритмов.
+
Алгоритм '''Бойера-Мура за линейное время(Турбо-алгоритм)''' является улучшением [[Алгоритм Бойера-Мура|алгоритма Бойера-Мура]]. Алгоритм, разработан группой учёных во главе с М.Крочемором, предлагает другой подход к коротким алфавитам и заодно решает вторую проблему — квадратичную сложность в худшем случае.
 
==Алгоритм==
 
==Алгоритм==
===Правило сдвига хорошего суффикса===
+
Турбо-алгоритм Бойера-Мура не нуждается в дополнительном препроцессинге и требует только постоянную дополнительную память по отношению к оригинальному алгоритму Бойера-Мура. Она состоит в запоминании фактор текста, который соответствует суффикс паттерна во время последней попытки (и только тогда, когда хороший суффикса сдвиг был выполнен).
===Турбо сдвиг===
+
 
 +
Эта методика представляет два преимущества:
 +
      можно перепрыгнуть через этот фактор;
 +
      она может позволить выполнять турбо-сдвиг.
 
===Формальное определение===
 
===Формальное определение===
 
==Псевдокод==
 
==Псевдокод==

Версия 22:09, 29 марта 2016

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

Алгоритм

Турбо-алгоритм Бойера-Мура не нуждается в дополнительном препроцессинге и требует только постоянную дополнительную память по отношению к оригинальному алгоритму Бойера-Мура. Она состоит в запоминании фактор текста, который соответствует суффикс паттерна во время последней попытки (и только тогда, когда хороший суффикса сдвиг был выполнен).

Эта методика представляет два преимущества:

      можно перепрыгнуть через этот фактор;
      она может позволить выполнять турбо-сдвиг.

Формальное определение

Псевдокод

Асимптотики

См. также

Ссылки