Изменения

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

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

18 байт добавлено, 18:07, 11 мая 2014
м
Формальное определение
Тогда для всех <tex>i</tex> таких, что <tex>0 \leqslant i < m</tex> выполняется <tex>bmGs[i+1]=\min\{s > 0 : Cs(i, s)\ and\ Co(i, s)\}</tex>. А значение <tex>bmGs[0]</tex> определим, как длину периода шаблона <tex>x</tex>.
Для вычисления bmGs будем использовать функцию <tex>\mathrm{suffixLength}</tex>, определенную так:для всех <tex>i</tex> таких, что <tex>1 \leqslant i < m</tex> выполняется <tex>\mathrm{suffixLength[}(i])=\max\{k : x[i-k+1 \dots i]=x[m-k \dots m-1]\}</tex>
Сдвиги плохих символов будем хранить в массиве <tex>bmBc</tex> размером <tex>\sigma</tex>.
418
правок

Навигация