参考: Ukkonen算法讲解 Ukkonen算法动画 Ukkonen算法,以字符串abcabxabcd为例,先介绍一下运算过程,最后讨论一些我自己的理解. 需要维护以下三个变量: 当前扫描位置# 三元组活动节点(AN),活动边(AE),活动长度(AL) 剩余后缀数:表示还有多少个潜在后缀应该被插入还没有插入 每多扫描一个后缀,其实是增加了一个新的后缀,从#=0-2的过程可以看出. 举个例子: ab的后缀有ab和b,可以表示成[0,],[1,] abc的后缀有abc,bc和c,可以表示成[0,]