Изменения

Перейти к: навигация, поиск
Наивный алгоритм поиска
Простейший способ узнать, встречается ли образец в тексте, используя суффиксный массив, это взять первый символ образца и бинарным поиском по [[суффиксный массив|суффиксному массиву]] найти диапазон с суффиксами, начинающимися на такую же букву. Так как все элементы в полученном диапазоне отсортированы, а первые символы одинаковые, то оставшиеся после отбрасывания первого символа суффиксы тоже отсортированы. А значит, можно повторять процедуру сужения диапазона поиска уже по второму, затем третьему и так далее символу образца до получения либо пустого диапазона, либо успешного нахождения всех символов образца.
 
Бинарный поиск работает за время равное <tex> O(\log|s|) </tex>, а сравнение суффикса с образцом не может превышать длины образца.
Анонимный участник

Навигация