zoukankan      html  css  js  c++  java
  • KMP学习

    一.KMP算法简介

      Knuth-Morris-Pratt 字符串查找算法,简称为 “KMP算法”,常用于在一个文本串S内查找一个模式串P 的出现位置,这个算法由Donald Knuth、Vaughan Pratt、James H. Morris三人于1977年联合发表,故取这3人的姓氏命名此算法。

    二.算法流程

      假设现在文本串s匹配到i位置,匹配串匹配到j位置

          >>若当前字符匹配成功(即s[i]==p[i]),都令i++,j++,继续匹配下一个字符

      >>若当前字符匹配失败(即s[i]!=p[i]),则令i不变,j=next[j]。此举意味着失配时,模式串p相对于文本串s向右移动了j-next[j]位

      next数组各值的含义:代表当前字符之前的字符串中,有多大长度的相同前缀后缀

    三.算法实现

    四.参考

    http://blog.csdn.net/v_july_v/article/details/7041827

    http://blog.csdn.net/tkd03072010/article/details/6824326

  • 相关阅读:
    C#关系运算符
    C#逻辑运算符
    C#位运算符
    C#赋值运算符
    C#条件运算符(?:)
    C#自增运算符(++)
    C#自减运算符
    C# sizeof运算符
    C# checked运算符
    最大值最小值
  • 原文地址:https://www.cnblogs.com/hwu2014/p/4447532.html
Copyright © 2011-2022 走看看