поиск подстроки

Недавно я пытался исследовать различные способы поиска подстрок и наткнулся на следующую статью http://en.wikipedia.org/wiki/Rabin%E2%80%93Karp_string_search_algorithm. Мне было интересно, есть ли какие-либо другие распространенные/эффективные алгоритмы, которые кто-нибудь может предложить/показать?

Спасибо большое


person locoboy    schedule 03.04.2011    source источник
comment
Вы ознакомились с алгоритмом поиска строк?   -  person Gumbo    schedule 03.04.2011
comment
Вы уже ссылаетесь на статью об алгоритме, которая сама ссылается на другие алгоритмы, поэтому вы, по-видимому, уже частично ответили на свой вопрос. У вас есть какие-то особые условия или ограничения, или вас интересует тема в целом?   -  person Steve    schedule 03.04.2011
comment
я думаю, что в основном ищу часто используемые алгоритмы   -  person locoboy    schedule 04.04.2011


Ответы (3)


Наиболее очевидным будет метод Бойера-Мура или его вариант, например Бойер-Мур-Хорспул. В некоторых ситуациях также стоит рассмотреть вариант Кнута-Морриса-Пратта.

person Jerry Coffin    schedule 03.04.2011

Алгоритм KMP эффективен при поиске подстроки, если текст небольшой. сложность O(n). для простоты понимания http://jakeboxer.com/blog/2009/12/13/the-knuth-morris-pratt-algorithm-in-my-own-words/

person Parul Setia    schedule 15.03.2015