251
правка
Изменения
→Псевдокод
==Псевдокод==
Стадия препроцессинга совпадает со стадией препроцессинга в [[Алгоритм Бойера-Мура|алгоритме Бойера-Мура]], функция вычислений сдвигов плохих символов и функция вычисления хороших суффиксов не меняются, меняется только сам алгоритм, в него добавляется обработка турбо-сдвигов.
<font color=green>//x - шаблон, y {{---}} текст, m {{---}} длина шаблона, n - длина текста</font>
'''function''' TBM(x: '''char'''[m], y: '''char'''[n]): '''List<int>'''
'''int''' i = 0
'''int''' u = 0
'''int''' shift = m
<font color=green>//answer {{- --}} массив, в который мы сохраняем индексы, начиная с которых, подстроки текста совпадают с шаблоном</font>
'''List<int>''' answer