美文网首页
数据结构—KMP算法

数据结构—KMP算法

作者: 乳酸菌_c966 | 来源:发表于2019-04-02 15:31 被阅读0次

    KMP算法是一种改进的字符串算法

    KMP算法的关键是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的。具体实现就是实现一个next()函数。函数本身包含了模式串的局部匹配信息。

    移动位数=已匹配的字符数-对应的部分匹配值

    《部分匹配表》是如何产生的?

    部分匹配值就是前缀和后缀的最长的元素的长度。

    • 前缀,是指除了最后一个字符以外,一个字符串的全部头部组合;
    • 后缀,指除了第一个字符串以外,一个字符串的全部尾部组合。
      比如ABCDABD的算法


      b15831994b1f1284bca34999ca229a8.png

    next(j)取值过程,见视频03

    相关文章

      网友评论

          本文标题:数据结构—KMP算法

          本文链接:https://www.haomeiwen.com/subject/vylgbqtx.html