学校建设网站的背景,wordpress 标签小工具,企业网络推广制作,企业营销网站建设策划书定义 BF算法——朴素查找算法——也叫做串的模式匹配算法 其应用特别多#xff0c;比如经常在一篇文章里面搜索一些东西#xff0c;#xff08;比如文章里的某个内容#xff0c;或某些关键字词出现的位置#xff0c;次数等#xff09;
之前我们大多数情况下是用来搜索关…定义 BF算法——朴素查找算法——也叫做串的模式匹配算法 其应用特别多比如经常在一篇文章里面搜索一些东西比如文章里的某个内容或某些关键字词出现的位置次数等
之前我们大多数情况下是用来搜索关键字而Search函数只是用来搜索一个字符比如下面push关键字的开头p但search搜索不了整个关键字push
这种搜索整个关键字也就是搜索一串字符就叫做——串的模式匹配 主串相当于一篇文章
子串就相当于这篇文章中的某个关键字
串的模式匹配算法相当于在主串中查找看子串存不存在 搜索查找就是挨个字符对比匹配的过程 主串的下标i和子串的下标j然后将i位置的字符和j位置的字符进行对比2个都一样就一块往后走比下一个 遇到不一样的了 不一样了就要退回去重新了j回去 现在2个一样然后i和j同时往后走 按照这种方式一种走直到j走完了j走到空了就认为匹配成功了 但上面这种算法是不对的因为i也必须要退回去即i必须回退
因为这种算法就不符合下图这种 每次不匹配时i回退到上次开始的位置的下一个而j都毋庸置疑的退回从头开始
因为如果i不回退那就只找了主串中以第一个字符开头的子串第二个到第n个字符开头的子串都没找漏掉了怎么能说没找到 i必须回退的就叫BF算法也就朴素查找算法
串的模式匹配算法包含BF和KMP算法
在主串中的pos任意位置开始查找不一定从0号位置开始即不一定在全文中开始找找到返回下标没找到返回-1