zoukankan      html  css  js  c++  java
  • KMP算法

      KMP算法简而言之就是告诉你一个字符串是否包含另一个字符串。

       对于是否包含一个字符串,大部分人想做的就是挨个判断,但是这样并不是很优,所以就有了KMP。

      当你对A(被匹配)字符串和B(匹配)字符串进行匹配时,如果匹配到不匹配,那么我们要做的就是把匹配字符串B往后移,但是移动多少呢?

      其实我觉得这就是关键吧。

      KMP的思想就是不把“搜索位置”移回已经比较过的位置,继续把他往后移,以此提高效率。

      那么具体移多少呢?

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

      那么问题来了,部分匹配值怎么算的?

      其实是根据前缀和后缀来的。

       此处配上看的博客:http://www.cnblogs.com/c-cloud/p/3224788.html

      留坑等以后完善

  • 相关阅读:
    21.扩展
    20.嵌套类型
    19.类型转换
    18.错误处理
    17.可选链
    16.ARC
    15.析构函数
    14.构造函数
    13.继承
    12.下标
  • 原文地址:https://www.cnblogs.com/gggyt/p/7327146.html
Copyright © 2011-2022 走看看