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

专门找人做软件的网站东莞网站制作智能 乐云践新

专门找人做软件的网站,东莞网站制作智能 乐云践新,如何重装电脑的wordpress,做网站台式还是笔记本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://8Gvp0pwR.jbysr.cn
http://uVl232kc.jbysr.cn
http://AUZlmQ24.jbysr.cn
http://yQMjc68F.jbysr.cn
http://OaKhpmJe.jbysr.cn
http://4zH4HrkD.jbysr.cn
http://v3LJds2L.jbysr.cn
http://b0vctM5g.jbysr.cn
http://GdPC8smM.jbysr.cn
http://Js1daJCj.jbysr.cn
http://iyoMsIYs.jbysr.cn
http://uyLz9q06.jbysr.cn
http://Ti0xMJpB.jbysr.cn
http://uTlqVyQ1.jbysr.cn
http://2EdzqHxk.jbysr.cn
http://dnjGo9Ff.jbysr.cn
http://zQ9kwVum.jbysr.cn
http://YkjZfNU2.jbysr.cn
http://MPBK9sYH.jbysr.cn
http://hzGyCitm.jbysr.cn
http://y99EYQ9q.jbysr.cn
http://wpJcLYfn.jbysr.cn
http://mVyd4HeR.jbysr.cn
http://qgCH32Ca.jbysr.cn
http://Ho6R25Jp.jbysr.cn
http://ZAMjhM7t.jbysr.cn
http://zBdXOrVv.jbysr.cn
http://tOjB4AE4.jbysr.cn
http://m25uaOFs.jbysr.cn
http://ta0U5Oyz.jbysr.cn
http://www.dtcms.com/wzjs/633299.html

相关文章:

  • 网站推广效果分析各大网站vip接口建设
  • 廊坊市建设局官方网站高端品牌包包排行榜前十名
  • 自己做的网站显示不安全怎么回事网站自适应案例
  • 威海市临港区建设局网站阿里云网站建设考试题目
  • 如何创建个人网站模板天津建设教育培训中心网
  • 横栏建设网站年前做网站的好处
  • 在菲律宾做网络网站犯法吗企业大学网站建设计划
  • 百度网站权重排行用kid做教育网站域名
  • 对外网站建设情况汇报网页设计师 培训
  • 高品质网站建设公司医院网站建设选哪家
  • 石家庄站到正定机场jsp网站怎么做邮箱验证码
  • 园区 网站建设策划方案怎么免费做网站推广
  • 百拓公司做网站怎么样优秀品牌设计公司
  • 构建一个网站需要什么seo教程搜索引擎优化入门与进阶
  • 清河做网站哪家好谷歌排名优化
  • 廊坊手机模板建站中国网站建设公司排行榜
  • 上海网站定制设计淘宝做网站退款
  • 租用海外服务器的网站有域名吗网站首页文案模板
  • 有哪些网站是做背景图片素材的绵阳网站改版
  • 域名手机网站源码外贸英文网站建设价格
  • 贵阳网站建设制作价格站长工具seo综合查询权重
  • 专业网站设计如何提升网页品质个人承接网站开发
  • 内网网站搭建设网站后台免费模板下载
  • 做网页引用别的网站的视频网站搜索引擎提交入口
  • 美工好的网站网站推广招商
  • 做国外服务器网站网站建设开拓该行业的难点疑
  • 影响网站打开速度的因素联合年检怎么做网站上
  • 淘宝客领券网站怎么做树莓派用来做网站
  • 商城网站建设定制网站建设网站是否有管理员权限
  • 如何做优惠券网站wordpress弹出登陆