当前位置: 首页 > wzjs >正文

dedecms景区网站模板网站加速

dedecms景区网站模板,网站加速,网站建设 开发网站代码,网站推广的目的是什么1.字符串匹配(对比) 朴素匹配算法是一种暴力匹配的方式,其思想为依次枚举主串的每一个字符作为匹配模式串的起始字符,然后将两字符串的字符从起始位置一一比对, 若在这个过程中出现某个字符不匹配,则将主串…

1.字符串匹配(对比)

   朴素匹配算法是一种暴力匹配的方式,其思想为依次枚举主串的每一个字符作为匹配模式串的起始字符,然后将两字符串的字符从起始位置一一比对
若在这个过程中出现某个字符不匹配,则将主串的起始比对位置重新回溯到上一个起始字符的下一位开始,模式串则回溯到第一个字符, 重新开始匹配过程。直到子串字符全部匹配成功或主串枚举完仍匹配失败为止。整个算法的时间复杂度为 O(n * m) ,效率较低。

2.kmp

   KMP算法对朴素匹配算法进行了改进,利用匹配失败时失败之前的已知部分时匹配的这个有效信息,保持主串的 i 指针不回溯,通过修改模式串(子串)的 j 指针,使模式串尽量地移动到有效的匹配位置。该算法的时间复杂度为 O(n+m),算法过程示例如下:

   因此问题就转化为了如何求子串(模式串),在每一个字符位置处,以该字符为结尾的子串的最大相等前缀和后缀的长度,我们将这个长度数组记录下为记为 next[] 。该数组一方面表示子串每个位置处的最大相等前后缀长度, 另一方面也表示了在字符串匹配失败时,该位置使得模式串的回溯位置。

3.next数组

   对于模式串 S 来说,首先初始化 next[0]=0(一个字符不存在相同前后缀,所以长度为0)。假设在求取模式串 next 数组的过程中(与主串无关),已知 next[j] 现在要求 next[j+1] 则有以下两种情况:若 S[j+1]==S[ next[j] ]:则next[j+1]=next[j]+1;(next[j]的值表示长度,但在下标为0开始的字符数组中就表示相等前缀末下标的下一位,因此不用+1即可)若 S[j+1]!=S[next[j]]:则说明j+1位置的最长公共前后缀不能在next[j]位置顺延,则需要继续往前找。那么如何继续往前找?首先肯定不能暴力。 那么我们知道next[j]就是最长公共前后缀,那么只需要找最长公共前后缀中前缀的最长公共前后缀,其实就是找到后缀中的最长公共前后缀,因为它们本身就是相同的。那就相当于找next[next[j]],再比较next[next[j]]+1是否与j+1相同。如果还不相同,那么重复这个过程。
4.kmp主代码

void kmp(){f[0]=-1;int len=strlen(s);for(int i=1,j=0;i<len&&j<len;){if(j==-1||s[i]==s[j])f[++i]=++j;else j=f[j];}}

5.匹配主代码:

 int lt=strlen(t),ls=strlen(s);for(int i=0,j=0;i<lt;i++){while(j>0&&s[j]!=t[i])j=f[j];if(s[j]==t[i])j++;if(j==ls)printf("%d\n",i-ls+1+1);}


6.link:(有例题)

kmp luogu网址    6道例题 

http://www.dtcms.com/wzjs/428233.html

相关文章:

  • 做网站新闻编辑微信营销的方法有哪些
  • WordPress图裂了seo包括什么
  • 现在学软件前景怎么样上海短视频seo优化网站
  • 有口碑的郑州网站建设百度seo优化是做什么的
  • 云南做企业网站多少钱优化工具箱
  • 龙岩网站建设公司网推接单平台
  • 广州冼村地铁站几号线宁波seo怎么做推广渠道
  • 做网站有弹窗叫什么win10必做的优化
  • 网站常见攻击seo诊断报告
  • 做游戏网站的需求分析宁波seo网络推广咨询价格
  • 网站特色怎么写百度站长平台网页版
  • 搜索引擎优化营销seo优化专员招聘
  • 网站的前期调研怎么做零基础能做网络推广吗
  • 视频网站建设需要多少钱什么是seo营销
  • 网上做兼职网站有哪些今日热点新闻15条
  • 怎么做个网站演示百度导航下载安装手机导航
  • 网站增加新闻功能整合营销公司排名
  • 计算机科学与技术重庆seo关键词排名
  • 网站解析错误ciliba最佳磁力搜索引擎
  • 网上商城网站建设规划怎么投稿各大媒体网站
  • 北京核子华曦检测所seo是对网站进行什么优化
  • 做多国语言网站苏州seo网站公司
  • 门户网站建设公司渠道整站优化方案
  • 网站建设前台功能在线看seo网站
  • 帮人做ppt的网站沈阳百度seo关键词排名优化软件
  • 网页制作素材网站推荐武汉推广系统
  • 福田区住房和建设局官方网站超级外链工具源码
  • 做网站需要营业执照嘛灰色行业关键词推广
  • 潍坊哪个网站建设公司好公司网站推广方案
  • 怎么做网页买东西链接杭州seo教程