String KMP失效函数的应用
许多关于KMP的文章提到KMP中的失败函数本身有大量的应用 其中一个应用程序是查找最小的字符串,当连接k次时,该字符串将给出原始字符串(句点)String KMP失效函数的应用,string,algorithm,String,Algorithm,许多关于KMP的文章提到KMP中的失败函数本身有大量的应用 其中一个应用程序是查找最小的字符串,当连接k次时,该字符串将给出原始字符串(句点) 但是我找不到其他的。KMP失败函数还涉及哪些其他问题?KMP计算字符串所有前缀的边界,这本身就是字符串算法中的一个关键概念。(计算整个单词本身的边界非常重要,KMP(失败函数)是实现这一点的标准!) s的边框就是s的前缀和后缀的任意单词 正如您正确地注意到的,计算边界能力的一个突出应用是计算最小字符串w的可能性,对于某些自然的k w^k=s,对于给定的字
但是我找不到其他的。KMP失败函数还涉及哪些其他问题?KMP计算字符串所有前缀的边界,这本身就是字符串算法中的一个关键概念。(计算整个单词本身的边界非常重要,KMP(失败函数)是实现这一点的标准!) s的边框就是s的前缀和后缀的任意单词 正如您正确地注意到的,计算边界能力的一个突出应用是计算最小字符串w的可能性,对于某些自然的k w^k=s,对于给定的字符串s。这被称为s的基本根 这是因为字符串的边界和周期之间具有二元性。字符串s的句点是任何长度不超过s的字符串,因此s是字符串ww的前缀。。。例如,abc是一个abcabcab的时段。事实证明,一个单词的边界和句点之间有1:1的对应关系;在上面的示例中,请注意,abcab是abcabcab的边界。通常,只要w是s的一个周期,那么在从其开始(w^-1s)移除w之后从s保留的字符串就是s的边界。类似地,如果w是s的边界,那么当您删除后缀w时,s中保留的单词是s的一个句点 句点是分析字符串属性的重要工具。例如,它们用于在字符串中查找重复(运行)的算法中;有关概述,请参阅