西安官方网站建设上海软件开发工资一般多少

张小明 2025/12/26 21:51:37
西安官方网站建设,上海软件开发工资一般多少,免费化妆品网站模板下载,上海高玩seo转载链接#xff1a;https://kb.cnblogs.com/page/176818/ 字符串匹配是计算机的基本任务之一。 举例来说#xff0c;有一个字符串BBC ABCDAB ABCDABCDABDE#xff0c;我想知道#xff0c;里面是否包含另一个字符串ABCDABD#xff1f; 许多算法可…转载链接https://kb.cnblogs.com/page/176818/字符串匹配是计算机的基本任务之一。举例来说有一个字符串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的位置。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

j2ee网站开发实例seo整站优化外包哪家好

本讲总结下g2o中实现的相对位姿约束,本节主要还是参考了“白巧克力亦唯心”的那篇博客,尊重下原创,当然个人对g2o的代码风格不太喜欢,并且时间有限,因此这里只是展示下,不做代码验证,依然沿用之…

张小明 2025/12/26 21:49:36 网站建设

成都彭州网站建设网站建设公司有哪些原

探索 Expect:自动化交互应用的利器 1. 阅读指南 在开始探索之前,了解如何阅读相关资料是很有必要的。资料可以从前到后按顺序阅读,每一部分内容自然衔接,且每章的示例仅使用到该章节为止所介绍的概念。当然,你也可以根据自己的需求跳过某些章节或随意浏览,但建议最终还是…

张小明 2025/12/26 21:47:35 网站建设

怎么做网站不会被屏蔽触宝免费网络电话

🎓作者简介:科技自媒体优质创作者 🌐个人主页:莱歌数字-CSDN博客 💌公众号:莱歌数字 📱个人微信:yanshanYH 211、985硕士,职场15年 从事结构设计、热设计、售前、产品设…

张小明 2025/12/26 21:45:33 网站建设

西部数码网站管理助手 mysql保存路径旅游网站有哪些?

核心工具与插件配置VSCode基础配置:安装Python/C等语言扩展包,配置代码补全、语法高亮AI开发必备插件:Jupyter Notebook集成:支持交互式AI模型调试GitHub Copilot:AI辅助代码生成Docker扩展:容器化环境管理…

张小明 2025/12/26 21:43:32 网站建设

淘宝推广网站建设safari浏览器

一、面试官的背后动机当面试官问你 “大模型微调技术(如 LoRA)的核心原理与落地价值” 时,他们通常想考察以下几个维度:技术理解能力能否正确解释大模型微调面临的挑战(如成本、参数规模、资源消耗)以及 Lo…

张小明 2025/12/26 21:41:31 网站建设

网站建设公众号小程序属于什么北京建站管理系统开发

数字音频录制全攻略 1. 平衡音频电平 在音乐视频中,我们常看到乐队在录音室里尽情表演,而有人在大型混音台前操作,以捕捉完美的音频轨道。如今,在电脑上进行音频录制也类似,只是混音台变成了电脑内的程序,通过鼠标或外部控制界面操作。 在录制过程中,关键是获得强而清…

张小明 2025/12/26 21:39:30 网站建设