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

最高级网站建设网络营销策划推广公司一一

最高级网站建设,网络营销策划推广公司一一,快钱支付需要网站备案吗,网站开发是打代码吗朴素模式匹配算法最坏的情况: 一.实例: 第一轮匹配失败,开始下一轮的匹配: 不断的操作,最终匹配成功: 如上述图片所述,朴素模式匹配算法会导致时间开销增加, 优化思路:主…

朴素模式匹配算法最坏的情况:


一.实例:

第一轮匹配失败,开始下一轮的匹配:

不断的操作,最终匹配成功:

如上述图片所述,朴素模式匹配算法会导致时间开销增加,

优化思路:主串指针不回溯,只有模式串指针回溯

主串指针不回溯:

如果上述图中?是g:

如果上述图中?不是g:

另一种情况如下:

如果在j为5时匹配失败(j为模式串的指针),那么主串中分别以第5个字符即g,第6个字符即o,第7个字符即o开头的子串都不可能与模式串匹配,但第8个字符即g开头的子串有可能与模式串匹配成功,因为第8个字符即g能与模式串第一个字符g匹配上,而且在匹配过程中只是说明了子串中第9个字符与模式串中j为5时对应的字符不匹配,并没有说明子串中第9个字符与模式串中第二个字符不匹配,接下来只需要看i对应的字符即第9个字符是否与模式串中第二个字符即o是否匹配

再下一种情况:

如果在j为4时匹配失败(j为模式串的指针),那么主串中分别以第3个字符即g,第4个字符即o,第5个字符即o开头的子串都不可能与模式串匹配,此时就需要开始判断主串中第6个字符是否与模式串中第一个字符是否匹配,但其实j为4时匹配失败已经说明主串中第6个字符不是g了,因此主串中第6个字符已经不可能与模式串中第一个字符匹配,可知该方案并不是最优解,这种方案会使得多进行一次不必要的判断,但相比朴素模式已经优化了很多:

再再下一种情况:

如果在j为3时匹配失败(j为模式串的指针),那么主串中以第四个字符即o开头的子串一定与模式串匹配失败,但此时只知道主串中第五个字符不是o,因此可以判断主串中第五个字符是否是g,以主串中第五个字符开头来重新开始与模式串的匹配,相比朴素算法也优化了很多:

再再再下一种情况:

如果在j为2时匹配失败(j为模式串的指针),那么主串中以第三个字符即g开头的子串一定与模式串匹配失败:

汇总:

对于next数组,该数组的意思是当模式串的指针j等于next数组中的某一个值时,如果发生不匹配,如j为5时不匹配,就要回到j为2这个位置;

但当j为1时发生了不匹配,j设置为0:

代码:

形参中S为主串,T为模式串,还有与T对应的next数组,i指向主串,j指向模拟串,while循环中j不为0且i指向的字符和j指向的字符不相等时才执行else语句里的j=next[j]:

与朴素算法不同的有第一个if语句中j==0和第一个else语句中的j=next[j],

现在假设主串为xgoo,模式串为google,一开始j为1,指向模拟穿里的g,i为1,指向主串里的x,

由于i和j指向的字符不匹配(不相等),根据j=next[j],会让j=next[1],此时j为0,下一轮循环时发现j为0,

++i后i为2指向主串里的g,++j后j为1指向模拟串里的g,由此就推出为什么把next[1]设为0,因为可以利用这个信息做一个特殊的判断,当j为0时就说明主串的指针i也应该往右移动了,此外当i指向的字符和j指向的字符都相等时也应该把i和j同时往后移:



文章转载自:

http://99yK8QlK.fdfsh.cn
http://eWSGhEMQ.fdfsh.cn
http://bMDX9xx4.fdfsh.cn
http://GQtKpkX5.fdfsh.cn
http://lNtmRCJq.fdfsh.cn
http://QJyftI40.fdfsh.cn
http://9VzeN7sE.fdfsh.cn
http://Ai1701Ad.fdfsh.cn
http://jBKn6DGS.fdfsh.cn
http://LjZVy0WI.fdfsh.cn
http://RssUCSE7.fdfsh.cn
http://XL71SaFt.fdfsh.cn
http://HAYx3Kk2.fdfsh.cn
http://Yf78lvF0.fdfsh.cn
http://ao8c6JwM.fdfsh.cn
http://WSMVyKQW.fdfsh.cn
http://VNypSNDO.fdfsh.cn
http://jRnrRu2Q.fdfsh.cn
http://LVfTBuFJ.fdfsh.cn
http://NXVN6Ltl.fdfsh.cn
http://DVUDtAvz.fdfsh.cn
http://n1KlgeFA.fdfsh.cn
http://rv9cY46N.fdfsh.cn
http://GoDyenVj.fdfsh.cn
http://B1mVzAOs.fdfsh.cn
http://acWxUoFD.fdfsh.cn
http://JMa2wHqF.fdfsh.cn
http://DQYi6jdX.fdfsh.cn
http://vq0QNYZS.fdfsh.cn
http://UjAMsmWj.fdfsh.cn
http://www.dtcms.com/wzjs/745674.html

相关文章:

  • 小程序网站wordpress常见问题
  • 做网站是百度包年快照专业黑帽seo
  • 呼市网站建设关键词搜索技巧
  • 做网站微信朋友圈应该怎么发去除wordpress版权
  • 江苏建湖网站建设漳浦网站建设
  • 网站正在建设中 html代码咋做网站
  • 个人网站有哪些板块衬衫定做公司
  • 西安有那些做网站的公司好盐城市城乡建设局门户网站
  • 域名怎么做网站内容企业融资方式有哪些
  • wordpress 评论回复邮件通知插件seo网站优化工具大全
  • 有专门做消除网站上对公司不利的中国人做英文网站
  • 电影网站如何做不侵权网站建设售后服务内容
  • 建立网站和新媒体信息发布制度邯郸之战
  • 企业网站维护建设ppt暖色调网页设计网站
  • 网站如何建立品牌形象邵阳网站开发公司推荐
  • 怎么做免费的产品网站税企互动平台
  • 企业网站建设方案 word中国建设银行官网站预约纪念币
  • 青岛网站建设哪家专业医院网站制作好吗
  • 旅游网站建设与网页设计就业前景好的10大专业
  • 临沂企业做网站哈尔滨网站建设哪个好
  • 长沙网站建设推广服务互联网装修公司加盟
  • app与微网站的区别是什么意思wordpress ip访问
  • 某个网站访问慢的原因不准别人网站做反链
  • 网站需要多少钱网上商城网站建设方案书
  • 网站开发规划方案中国目前最好的搜索引擎
  • 怎么做创意短视频网站自己做网站推广需要多少钱
  • 建设银行广西分行网站wordpress里的页面布局
  • 潍坊网站定制门户网站界面设计模板
  • 网站建设的任务苏州手机网站制作
  • 网站模板 wordpress带会员系统免费dw设计成品网页