Изменения

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

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

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

Навигация