Изменения

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

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

8 байт добавлено, 17:02, 21 мая 2016
Пример реализации
v.suffLink = root
'''else'''
v.suffLink = getGogetLink(getSuffLink(v.parent), v.charToParent)
'''return''' v.suffLink
'''Функция, для вычисления перехода:'''
'''Node''' getGogetLink('''Node''' v, '''char''' c):
'''if''' '''not''' v.go[c] <font color=green>// если переход по символу c ещё не вычислен</font>
'''if''' v.son[c]
v.go[c] = root
'''else'''
v.go[c] = getGogetLink(getSuffLink(v), c)
'''return''' v.go[c]
'''for''' i = 0 '''to''' t.length - 1
'''char''' c = t[i] - 'a'
cur = getGogetLink(cur, c)
'''for''' j = 0 '''to''' cur.leafPatternNumber.size - 1
found[cur.leafPatternNumber[j]] = ''true''
Анонимный участник

Навигация