KMP
胆识与智慧
在探索中成长
展开
-
复习 KMP 算法
KMP 算法是课本上就要求要学的(课本上没 扩展 KMP 和 Manacher ),可见 KMP 有多重要了 。给定两个字符串 a , b(序列也可以,不一定非得是字符串) , 求第一个串在第二个串中第一次出现的位置,或者出现的次数。如果暴力做,a 字符串在中途匹配失败,就从头开始,继续匹配,时间复杂度是 O( n * m ) 。KMP 算法就是一种让主串下标不减小的优化算法,时间复杂度 O( n...原创 2018-02-13 19:53:14 · 304 阅读 · 0 评论 -
拓展 KMP 学习
初识扩展 KMP , 看了挺久的。可以参考这篇博客 和 第二篇给定两个字符串 S , T (序列),求( S 的所有后缀 )和 T 的最长前缀。例如 S 是 abcde求 abcde 和 T 的最长前缀求 bcde 和 T 的最长前缀求 cde 和 T 的最长前缀求 de 和 T 的最长前缀求 e 和 T 的最长前缀如果最长前缀长度 = T.length() ,就是 KMP 了。我个人脑海里...原创 2018-02-14 19:16:32 · 192 阅读 · 0 评论