![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 87
初露微微
许个愿望,国泰民安,万物和谐。
展开
-
【数据结构】了解KMP算法和部分匹配值、以及next函数值
最近生活发生了很多变化,没变的是自己还是咸鱼一条,害~~1、什么是KMP算法KMP算法是一种改进的字符串匹配算法。2、KMP算法的思想KMP算法的关键是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的。3、KMP算法的具体实现实现一个next()函数,函数本身包含了模式串的局部匹配信息4、部分匹配值的定义"部分匹配值"就是"前缀"和"后缀"的最长的共有元素的长度。4.1 “前缀”和“后缀”的定义"前缀"指除了最后一个字符以外,一个字符串的全.翻译 2021-07-26 10:51:49 · 2858 阅读 · 0 评论 -
【数据结构】KMP算法与next值、nextval数组值计算
KMP算法:给定一个主串S及一个模式串P,判断模式串是否为主串的子串;若是,返回匹配的第一个元素的位置(序号从1开始),否则返回0;这里先不写算法,仅仅计算next和nextVal值那么计算时只用到子串,也就是模式串这里模式串为:abaabcac第一步将模式串写上序号,我们这里从1开始(有的从0开始,建议充1开始)然后计算出maxL值,列出从第一个开始的子串,找出相等的前缀和后缀的个数如果2>看不懂的话,看3>,2>计算maxL值所以maxL值如果这个看不懂的话,转载 2020-09-20 11:38:57 · 1476 阅读 · 0 评论