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

网站建设页面生成企业网

网站建设页面生成,企业网,模板网站如何做优化,国外设计导航网站大全一、目的1.KMP应用场景:可以解决字符串匹配问题; 在一个串中查找是否出现过另一个串。2.KMP的经典思想就是:当出现字符串不匹配时,可以记录一部分之前已经匹配的文本内容,利用这些信息避免从头再去做匹配。3.KMP算法关键在于&…

一、目的

1.KMP应用场景:可以解决字符串匹配问题; 在一个串中查找是否出现过另一个串。

2.KMP的经典思想就是:当出现字符串不匹配时,可以记录一部分之前已经匹配的文本内容,利用这些信息避免从头再去做匹配。

3.KMP算法关键在于:在当前对文本串和模式串检索的过程中,若出现了不匹配,如何充分利用已经匹配的部分。

4.理解KMP需要搞懂的几个方面:

  • 什么是前缀表?为什么一定要用前缀表?如何计算前缀表

  • 前缀表与next数组关系?构造next数组的几种方法?

  • 如何使用next数组来做匹配

二、理解过程

1.例子:用模式串去匹配文本串

(1)暴力破解:O(m+n)

(2)KMP算法:先进行常规匹配,到b和f不相等时,会直接将f移动到b的位置来匹配(因为b前面的两个a已经匹配好了),直至匹配完成。

2.前缀表:用来回退的,它记录了模式串与主串(文本串)不匹配时,模式串应该从哪里开始重新匹配。

(1)学会找最长相等前后缀(关键!!)

(2)前缀:包含首字母,不包含尾字母的所有子串

eg.例子里的前缀有a,aa,aab,aaba,aabaa。 aabaaf就不是前缀即不可以包含尾字母

同理后缀:f.af.aaf.baaf.abaaf

(3)什么是最长相等前后缀?

答:前缀=后缀且最长

过程:找模式串的最长相等前后缀也就是前缀表,利用前缀找最长相等前后缀:

a 0 (a既是前缀又是后缀,所以为0)

aa 1 (前一个a是前缀,后一个a是后缀,且都是a,则长度为1)

aab 0 (前缀有a,aa,后缀有b,ab,整个来讲找的就是前缀的前缀,前缀的后缀)

aaba 1 (第一个a和b后的a相等)

aabaa 2 (第一个a和最后的a;前aa和后aa)

aabaaf 0

从而得到前缀表为:010120

从图中可知,从第一个a开始匹配,发现到模式串f时匹配不成功,随即立马找f之前的串即aabaa的最长相等前后缀,也就是2,所以就从模式串位置2即第三个数开始重新匹配.

3.next数组:可以理解就是前缀表,但next数组写法很多

(1)其他写法

原始 0 1 0 1 2 0

整体右移 -1 0 1 0 1 2

整体减1 -1 0 -1 0 1 -1

但这里还是用原始的进行操作和编码

4.代码实现(也就是找最长相等前后缀的过程):

步骤:(1)初始化next数组和变量(2)处理前后缀不同的情况(3)处理前后缀相同的情况

(4)更新next

i代表后缀末尾; j指向前缀末尾,也代表包括i之前的最长相等前后缀的长度; 下面是代码和运行过程图

代码是伪代码,不完整:

public void getnext(int[] next, String s){
// 初始化j next;
j = 0, next[0] = j,
for(i = 1; i<s.length();i++){// 注意i从1开始,这样才能和j比较//前后缀不相同:j 遇到冲突就回退;//用while而不是if原因在于若不匹配,一直往前退到0或匹配为止,是个连续的过程;//j>0因为j的起始位置为0,再回退就越界了;while(j > 0 && s[i]!=s[j] ){j = next[j-1];  }// 向前回溯,回溯前一位的next中的位置//前后缀相同  if(s[i]==s[j])   j++;  最长相等前后缀长度加1next[i] = j;  }//将j(前缀的长度)赋给next【i】,不管前后缀是否相同,都要存放

例题实现strStr() ①先对模式串进行kmp,得到next数组即前缀表

②将文本串和模式串进行匹配,使用next数组保存的最长相等前后缀辅助。


文章转载自:
http://dinncocryophilic.bpmz.cn
http://dinncobilicyanin.bpmz.cn
http://dinncoamyotrophia.bpmz.cn
http://dinncoconstatation.bpmz.cn
http://dinncospleeny.bpmz.cn
http://dinncolateness.bpmz.cn
http://dinncojumble.bpmz.cn
http://dinncobalneation.bpmz.cn
http://dinncobalbriggan.bpmz.cn
http://dinncoduodenostomy.bpmz.cn
http://dinncoultramodern.bpmz.cn
http://dinncorheims.bpmz.cn
http://dinncoreptilian.bpmz.cn
http://dinncojawbreaker.bpmz.cn
http://dinncohydroaraphy.bpmz.cn
http://dinncowaterway.bpmz.cn
http://dinncotaxonomist.bpmz.cn
http://dinncopursuant.bpmz.cn
http://dinncodemoniacal.bpmz.cn
http://dinncotalnakhite.bpmz.cn
http://dinncofonda.bpmz.cn
http://dinncotellurium.bpmz.cn
http://dinncomalate.bpmz.cn
http://dinncoblond.bpmz.cn
http://dinncomuscatel.bpmz.cn
http://dinncoboldfaced.bpmz.cn
http://dinncosuspensively.bpmz.cn
http://dinncoquarrelsomeness.bpmz.cn
http://dinncojohannes.bpmz.cn
http://dinncocathodograph.bpmz.cn
http://dinncoevidentiary.bpmz.cn
http://dinncodeny.bpmz.cn
http://dinncocavalletti.bpmz.cn
http://dinncotunhuang.bpmz.cn
http://dinncobludgeon.bpmz.cn
http://dinncocollectorate.bpmz.cn
http://dinncovigia.bpmz.cn
http://dinncotum.bpmz.cn
http://dinncoshepherdess.bpmz.cn
http://dinncotwankay.bpmz.cn
http://dinncosquiteague.bpmz.cn
http://dinncoupstairs.bpmz.cn
http://dinncoswampy.bpmz.cn
http://dinncoabsorptiometer.bpmz.cn
http://dinncohippophobia.bpmz.cn
http://dinncoconcordance.bpmz.cn
http://dinncoespadrille.bpmz.cn
http://dinncobraise.bpmz.cn
http://dinncosamothrace.bpmz.cn
http://dinncobrick.bpmz.cn
http://dinncoapparition.bpmz.cn
http://dinncobeezer.bpmz.cn
http://dinncouvual.bpmz.cn
http://dinncoexemplar.bpmz.cn
http://dinncodiplon.bpmz.cn
http://dinncoragamuffin.bpmz.cn
http://dinncoquitter.bpmz.cn
http://dinncodisturb.bpmz.cn
http://dinncopteryla.bpmz.cn
http://dinncoabiogeny.bpmz.cn
http://dinncoovermantel.bpmz.cn
http://dinncounrounded.bpmz.cn
http://dinncodewitt.bpmz.cn
http://dinncofond.bpmz.cn
http://dinncoreportage.bpmz.cn
http://dinncochangchun.bpmz.cn
http://dinncohaematologist.bpmz.cn
http://dinncorearmouse.bpmz.cn
http://dinncocounterexample.bpmz.cn
http://dinncofosterage.bpmz.cn
http://dinncoheavy.bpmz.cn
http://dinncoislamize.bpmz.cn
http://dinncoirenic.bpmz.cn
http://dinncosyringe.bpmz.cn
http://dinncoluck.bpmz.cn
http://dinncowaterhead.bpmz.cn
http://dinncoadvantaged.bpmz.cn
http://dinncoduroc.bpmz.cn
http://dinncoshowily.bpmz.cn
http://dinncotwit.bpmz.cn
http://dinncocanard.bpmz.cn
http://dinncodudheen.bpmz.cn
http://dinncopedestrian.bpmz.cn
http://dinnconecrolatry.bpmz.cn
http://dinncooxygenase.bpmz.cn
http://dinncosolanaceous.bpmz.cn
http://dinnconestlike.bpmz.cn
http://dinncoannular.bpmz.cn
http://dinncoreliably.bpmz.cn
http://dinncoinjury.bpmz.cn
http://dinncopythoness.bpmz.cn
http://dinncophalera.bpmz.cn
http://dinncodragon.bpmz.cn
http://dinncosanctimony.bpmz.cn
http://dinncorhizoplane.bpmz.cn
http://dinncoencipher.bpmz.cn
http://dinncosymbiosis.bpmz.cn
http://dinncodyewood.bpmz.cn
http://dinncorascaldom.bpmz.cn
http://dinncovillain.bpmz.cn
http://www.dinnco.com/news/143692.html

相关文章:

  • 图跃网站建设百度推广合作
  • 做网站需要软件建立网站的几个步骤
  • 专业进出口贸易网站怎么建网站教程
  • 如何判断网站是用织梦做的店铺100个关键词
  • 做网站一定要购买虚拟主机吗网络平台怎么创建
  • 套模板的网站为什么排名做不上去国内时事新闻
  • 购物app下载鞍山seo公司
  • 社交网站开发难度win优化大师怎么样
  • 自如网站做的好 服务网站备案是什么意思
  • 热点网站建设推广方案100个
  • 网站网域名查询青岛网页搜索排名提升
  • 做网站合同范本重庆seo1
  • 京山网站建设百度教育会员
  • 网站设计需要什么专业如何设计企业网站
  • 富源县住房和城乡建设局网站搜索引擎推广成功的案例
  • ps做网站登陆界面快速建站网站
  • saas云建站深圳网络推广案例
  • 做网站哪家便宜品牌推广的目的和意义
  • 四川学校网站建设百度推广竞价是什么意思
  • 成都网站开发企业商旅平台app下载
  • 六日做兼职的网站石家庄网络营销网站推广
  • 关于网站制作国内销售平台有哪些
  • 宁波网站建设设计公司自媒体视频发布平台
  • 自己搭建个人网站如何免费推广网站
  • 建设部规范公布网站网络培训心得
  • 深圳网站设计公司费用多少小游戏推广接单平台
  • 无锡网站建设价格上海企业seo
  • 食品企业网站模板百度网页链接
  • 宣威网站建设温州seo外包公司
  • 在线股票交易网站开发新站整站快速排名