Изменения

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

Алгоритм Ахо-Корасик

4 байта убрано, 16:29, 21 мая 2016
Пример реализации
'''Функция, для вычисления суффиксной ссылки:'''
'''Node''' getSuffLink('''Node''' v):
'''if''' '''not'''(v.suffLink) <font color=green>// если суффиксная ссылка ещё не вычислена</font>
'''if''' v == root '''or''' v.parent == root
v.suffLink = root
'''Функция, для вычисления перехода:'''
'''Node''' getGo('''Node''' v, '''char''' c):
'''if''' '''not'''(v.go[c]) <font color=green>// если переход по символу c ещё не вычислен</font>
'''if''' v.son[c]
v.go[c] = v.son[c]
'''Функция, для вычисления сжатой суффиксной ссылки:'''
'''Node''' getUp('''Node''' v):
'''if''' '''not'''(v.up) <font color=green>// если сжатая суффиксная ссылка ещё не вычислена</font>
'''if''' getSuffLink(v).isLeaf
v.up = getSuffLink(v)
Анонимный участник

Навигация