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

如何自学网站建设书籍seo常用分析的专业工具

如何自学网站建设书籍,seo常用分析的专业工具,深圳布吉做网站,对接公众号的网站怎么做以后保持每日一更,由于兴趣较多,更新内容不限于数据结构,计算机组成原理,数论,拓扑学......,所谓:深度围绕职业发展,广度围绕兴趣爱好。往下看今日内容 一.什么是KMP算法 KMP&#x…

以后保持每日一更,由于兴趣较多,更新内容不限于数据结构,计算机组成原理,数论,拓扑学......,所谓:深度围绕职业发展,广度围绕兴趣爱好。往下看今日内容

一.什么是KMP算法

  KMP(Knuth-Morris-Pratt)算法是一种字符串匹配算法,用于在一个较长的文本串中查找一个模式串的出现位置。

二.KMP算法的应用

  这个算法在很多应用中都有重要的作用:

  1. 字符串搜索:KMP算法可以快速在一个长文本中查找一个关键词或者子串的出现位置。因为KMP算法在匹配失败时利用了先前已经匹配过的信息,避免了不必要的回溯,提高了搜索效率。

  2. 文件比较:比如两个文本文件的比较,KMP算法可以用于找到两个文件中相同的部分或者相似的部分,从而进行比较或者合并。

  3. DNA序列匹配:在生物信息学中,KMP算法可以应用于DNA序列比对和DNA片段的查找,这对于基因研究和遗传工程非常重要。

  4. 编辑器中的查找和替换:很多文本编辑器在实现查找和替换功能时会使用KMP算法,用于快速定位和匹配模式串。

三.KMP算法next数组原理(非常重要)

在字符串匹配的KMP算法中,求模式串的next数组值的定义如下:

问:

1)当 j=1时,为什么要取next[1]=0 ?

2)为什么要取max{k},k的最大值为多少?

3)其他情况是什么情况,为什么next取next[j]=1?

解:

1)当模式串中的第一个字符与主串中的第一个字符不匹配时,next[1]=0,表示模式串应该右移一位,主串当前指针往后移动一位,再和模式串的第一个字符进行比较。

2)当主串的第i个字符与模式串的第j个字符不匹配时,主串i不回溯,也就是不向前移动,则假定模式串的第k个字符与主串的第i个字符比较,k值应满足条件1<k<j,并且’p1 p2 ......p(k-1)'='p(j-k+1)p(j-k+2)......p(j-1),即k为模式串的下次比较的位置。k的取值可能有多个,为了不使右移丢失可能的匹配,右移的距离应该取最小,由于j-k表示右移的距离,所以取max{k}。k的最大值为j-1。

3)除了上面两种情况外,发生不匹配时,主串指针i不回溯,在最坏的情况下,模式串从第1个字符开始与主串的第i个字符比较。

四.总结

KMP算法与朴素匹配最明显的一个特点就是,KMP算法很绝,它觉得,过去的事情就让它过去,不必回头,简称“一往无前”。然而,朴素匹配算法很委婉,很想回头挽留,可是最终受伤的总是自己,简称“不堪回首”。

可见,KMP算法是一个高效率,代码简洁,逻辑性巧妙的算法。

http://www.yidumall.com/news/90710.html

相关文章:

  • 织梦手机网站怎么仿制miy188coo免费入口
  • 咨询北京国互网网站建设百度风云榜各年度小说排行榜
  • 合肥建设网网站网络营销推广服务
  • wordpress 种子搜索引擎百度seo报价方法
  • 做电影网站网站如何赚钱
  • 如何做网站demo汕头网站排名
  • 网站怎么做301跳转西安seo外包服务
  • 怎么做废品网站百度竞价什么时候开始的
  • 哪里可以做营销型网站百度快速排名系统查询
  • wordpress后台登陆不进去网站优化检测
  • 视频广告网站新闻最近新闻10条
  • 泗阳做网站的国际新闻最新消息中国
  • 电子商城网站建站客关键词seo排名优化
  • 营销型网站建设优化收录网
  • 那样的网站18年企业营销策略分析论文
  • 张扬网站建设结构优化
  • 网站建设的具体过程网络营销技能大赛优秀作品
  • 镇江建设网站吉林网络推广公司
  • 1688购物平台seo搜索优化软件
  • 馀姚网站建设google优化师
  • 影视网站wordpress关键词排名批量查询
  • 仙女棒在线设计平台南宁seo教程
  • 南昌网站推广公司百度竞价点击价格公式
  • 外管局网站怎么做报告搜索引擎哪个最好用
  • 买个网站服务器多少钱公司想做个网站怎么办
  • 繁体企业网站源码专业seo网站
  • 西安做网站的公司维护济南seo
  • wordpress countdown timer赣州seo公司
  • 做网站要什么资料抖音流量推广神器软件
  • wordpress中文菜单如何优化关键词搜索排名