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

在东营怎么建网站中学生网站设计下载

在东营怎么建网站,中学生网站设计下载,自适应网站一般做几个尺寸,重庆妇科医院推荐字符串匹配是计算机的基本任务之一。举例来说#xff0c;有一个字符串BBC ABCDAB ABCDABCDABDE#xff0c;我想知道#xff0c;里面是否包含另一个字符串ABCDABD#xff1f; 许多算法可以完成这个任务#xff0c;Knuth-Morris-Pratt算法#xff… 字符串匹配是计算机的基本任务之一。举例来说有一个字符串BBC ABCDAB ABCDABCDABDE我想知道里面是否包含另一个字符串ABCDABD 许多算法可以完成这个任务Knuth-Morris-Pratt算法简称KMP是最常用的之一。它以三个发明者命名起头的那个K就是著名科学家Donald Knuth。 这种算法不太容易理解网上有很多解释但读起来都很费劲。直到读到Jake Boxer的文章我才真正理解这种算法。下面我用自己的语言试图写一篇比较好懂的KMP算法解释。 1. 首先字符串BBC ABCDAB ABCDABCDABDE的第一个字符与搜词ABCDABD的第一个字符进行比较。因为B与A不匹配所以搜索词后移一位。 2. 因为B与A不匹配搜索词再往后移。 3. 就这样直到字符串有一个字符与搜索词的第一个字符相同为止。 4. 接着比较字符串和搜索词的下一个字符还是相同。 5. 直到字符串有一个字符与搜索词对应的字符不相同为止。 6. 这时最自然的反应是将搜索词整个后移一位再从头逐个比较。这样做虽然可行但是效率很差因为你要把搜索位置移到已经比较过的位置重比一遍。 7. 一个基本事实是当空格与D不匹配时你其实知道前面六个字符是ABCDAB。KMP算法的想法是设法利用这个已知信息不要把搜索位置移回已经比较过的位置继续把它向后移这样就提高了效率。 8. 怎么做到这一点呢可以针对搜索词算出一张《部分匹配表》Partial Match Table。这张表是如何产生的后面再介绍这里只要会用就可以了。 9. 已知空格与D不匹配时前面六个字符ABCDAB是匹配的。查表可知最后一个匹配字符B对应的部分匹配值为2因此按照下面的公式算出向后移动的位数移动位数 已匹配的字符数 - 对应的部分匹配值。因为 6 - 2 等于4所以将搜索词向后移动4位。 10. 因为空格与不匹配搜索词还要继续往后移。这时已匹配的字符数 2AB对应的部分匹配值为0。所以移动位数 2 - 0结果为 2于是将搜索词向后移2位。 11. 因为空格与A不匹配继续后移一位。 12. 逐位比较直到发现C与D不匹配。于是移动位数 6 - 2继续将搜索词向后移动4位。 13. 逐位比较直到搜索词的最后一位发现完全匹配于是搜索完成。如果还要继续搜索即找出全部匹配移动位数 7 - 0再将搜索词向后移动7位这里就不再重复了。 14. 下面介绍《部分匹配表》是如何产生的。 首先要了解两个概念前缀和后缀。 前缀指除了最后一个字符以外一个字符串的全部头部组合后缀指除了第一个字符以外一个字符串的全部尾部组合。 15. 部分匹配值就是前缀和后缀的最长的共有元素的长度。以ABCDABD为例  A的前缀和后缀都为空集共有元素的长度为0  AB的前缀为[A]后缀为[B]共有元素的长度为0  ABC的前缀为[A, AB]后缀为[BC, C]共有元素的长度0     ABCD的前缀为[A, AB, ABC]后缀为[BCD, CD, D]共有元素长度为 0  ABCDA的前缀为[A, AB, ABC, ABCD]后缀为[BCDA, CDA, DA, A]共有元素为A长度为1  ABCDAB的前缀为[A, AB, ABC, ABCD, ABCDA]后缀为[BCDAB, CDAB, DAB, AB, B]共有元素为AB长度为2  ABCDABD的前缀为[A, AB, ABC, ABCD, ABCDA, ABCDAB]后缀为        [BCDABD, CDABD, DABD, ABD, BD, D]共有元素的长度为0。 16. 部分匹配的实质是有时候字符串头部和尾部会有重复。比如ABCDAB之中有两个AB那么它的部分匹配值就是2AB的长度。搜索词移动的时候第一个AB向后移动4位字符串长度-部分匹配值就可以来到第二个AB的位置。
http://www.pierceye.com/news/967172/

相关文章:

  • 东莞企业官方网站建设网站建设对产品推销作用大吗
  • php网站路径问题站长工具权重查询
  • 箱包官方网站模板摄影后期教程网站
  • iis 手机网站同域名网站改版需要把之前网站里的文章都拷贝过来吗?
  • 网站是专门对生活中的一些所谓常识做辟谣的商标设计网站排行
  • seo网站设计营销工具抽奖网站插件
  • 家装设计网站大全网站建设用哪个好
  • 青海企业网站建设企业建设网
  • 电子商务网站环境建设怎么劝客户做网站
  • 山西教育学会的网站建设网站投放广告教程
  • 游戏网站的设计方案做装修业务呢有多少网站
  • 口碑好网站建设公司电话百度联盟网站备案信息
  • 网站建设排行公司建筑网页设计详情
  • 德国的网站后缀技术支持 东莞网站建设母婴护理
  • 彩票娱乐网站建设wordpress 邮件推送
  • 如何申请网站备案如何选择邯郸做网站
  • 专注做一家男生最爱的网站北京旅游设计网站建设
  • c 做网站凡科网站免费版怎么做
  • 门户网站开发多少钱wordpress主题文章页面不显示
  • 网站建设丶金手指下拉13个人网站有什么用
  • 企业网站建设解决方案wordpress搜索不了中文linux
  • 怎样在网站上做有效的广告投放手机网站公司哪家好
  • 四川德行天下建设工程有限公司网站ie兼容所有网站
  • 网站seo诊断免费php源码网
  • 微信公众号商城网站开发湖南省新闻最新消息十条
  • 如何做网站家具导购做哈尔滨本地门户网站赚钱吗
  • 建立网站的步骤有哪些wordpress 主题
  • 网站功能建设中页面个体户做网站有用吗
  • 网站建设具体要求wordpress启用注册
  • 重庆好的网站建设公司车辆管理网站开发