177
правок
Изменения
м
→Псевдокод
Константой <tex>|\Sigma|=\sigma</tex> обозначим размер нашего алфавита.
Функция для вычисления таблицы сдвигов плохих символов. Она будет равна длине шаблона для всех символов, которые не встречаются в шаблоне, и порядковому номеру с конца для остальных (кроме последнего, для него тоже берется длина шаблона). Вычисляется прямо по определению за <tex>O(m+\sigma)</tex>.
'''int'''[] preBmBc('''char'''[m] x):
'''int''' table<tex>[</tex> <tex>|\Sigma|</tex> <tex>]</tex>