相关疑难解决方法(0)

KMP算法和Z算法之间的关系

KMPZ算法是用于字符串搜索的众所周知的算法,

KMP算法处理通过KMP失败函数查找模式,该函数定义为(pat是搜索模式)

lps [i] = pat [0..i]的最长适当前缀,也是pat [0..i]的后缀。

例如,用于string "abcab"这将是[0, 0, 0, 1, 2]

其中,Z算法使用z函数定义为:

给定长度为n的字符串S,Z算法将生成一个数组Z,其中Z [i]是从pat [i]开始的最长子字符串的长度,pat [i]也是pat的前缀。

现在的问题是我们可以Z通过使用KMP算法来实现功能吗?我要搜索的是lps数组中的一些修改,这些修改导致与数组相同的结果Z[i]

string algorithm search

6
推荐指数
1
解决办法
3794
查看次数

标签 统计

algorithm ×1

search ×1

string ×1