码迷,mamicode.com
首页 > 其他好文 > 详细

KMP详解

时间:2018-08-16 01:00:50      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:暴力   一个   百度   直接   模拟   int   print   程序   注意事项   

引入

    字符串有一种基本的操作,叫做查找。当你在淘宝上搜索时,就是在查找;当你在百度上搜索时,也是在查找;当你在点子字典上输入一个英文单词的时候,也是在查找。

    在C++的string库中有一个查找的函数,即str1.find(str2).其中,str1指的是被查找的母串,str2指的是要查找的子串。例如下面一段程序

string str1="Hello World";
string str2="Hel";
printf("%d", str1.find(str2));

     这个程序的返回值是0.也就是说,str1.find(str2)返回的是str2在str1中第一次出现的位置。

注意事项

    在开始之前,我们约定一下几个事项:

  •     母串表示被查找的字符串,用strmo表示
  •     子串表示要查找的字符串,用strch表示
  •     我们用i来表示strmo中的第i个字符,用j来表示strch中的第j个字符,使读者更容易理解。

古老的字符串查找方法

    暴力的字符串查找方法就是直接模拟人的思想,不断地在母串中一个字符一个字符地查看与子串是否匹配,直到匹配成功或母串结束为止。

KMP详解

标签:暴力   一个   百度   直接   模拟   int   print   程序   注意事项   

原文地址:https://www.cnblogs.com/Wolfbeyond/p/9484410.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!