271
правка
Изменения
Нет описания правки
|}
Как видно из примера образцу удовлетворяют суффиксы 3 и 4, начинающиеся на 5 и 2 позициях в строке соответственно.
=== Псевдокод ===
Поиск диапазона
/*p - образец
n - длина образца
s - строка
length - длина строки
array - суффиксный массив
left - левая граница диапазона // изначально равна единице
right - правая граница диапазона // изначально равна длине строки
find - функция уточнения диапазона
элементы строк и массивов нумеруются с единицы*/
for i = 1 to n
find(left, right)
if (left != -1 && right != -1) // если диапазон не пуст
yield left // вывод левой границы диапазона
yield right // вывод правой границы диапазона
else
yield "No matches" // вывод информации об отсутствии вхождений
Бинарный поиск для уточнения диапазона
/*l - левая граница диапазона при