[关闭]
@XQF 2018-03-07T23:02:26.000000Z 字数 265 阅读 798

KMP算法相关

数据结构与算法


具体原理什么的就不分析了,就说怎么解决相关问题就行了。
一般情况下是需要我们出去next数组就行了。

之前是看了阮一峰的日志,但是里面并没说怎么去求这个next数组,只是简单的介绍了一下所谓的部分匹配值。

后来看July的博客才知道,这里所谓的部分匹配即使最长公共前缀,因此这样来说的话,我们要求出最长的公共前缀,然后再右移就可以求出next数组了

求最长公共前缀的过程
此处输入图片的描述

结果

然后根据上面求出next数组

image_1boescrv365a5e84lp19rr1p3du.png-69.2kB

结果
此处输入图片的描述

那么我们求出了next数组对于我们的字符匹配来说有什么好处尼

image_1boeselrkgq51jor1e481uen17ck1b.png-10.6kB

这个时候就会减少我们的回溯次数从而提高匹配效率。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注