80
правок
Изменения
→Построение суффиксного дерева
<tex>start \leftarrow go[cur][s[l]].l </tex>
<tex>finish \leftarrow go[cur][s[l]].r </tex>
<tex>hasBreak hasCut \leftarrow false </tex>
'''for''' <tex> j = start </tex> '''to''' <tex> finish </tex> //для каждого символа на ребре из текущей вершины
'''if''' <tex>s[l+j-start] <>s[j] </tex> //если нашли не совпадающий символ
'''break'''
'''if''' <tex>!hasBreakhasCut</tex>
<tex>cur \leftarrow go[cur][s[l]].v </tex> //переходим по ребру
<tex>l \leftarrow l + finish - start </tex> //двигаемся по суффиксу на длину подстроки, записанной на ребре
<tex>count++</tex>