- 25
- 0
- 约2.37千字
- 约 10页
- 2019-02-18 发布于安徽
- 举报
* * KMP算法和扩展KMP算法 * * BF算法 其实就是朴素算法加了个高端的名字… 流程:例如将“BBC ABCDAB ABCDABCDABDE”与串“ABCDABD”匹配; 1、首先,字符串“BBC ABCDAB ABCDABCDABDE”的第一个字符与搜索词“ABCDABD”的第一个字符,进行比较。因为B与A不匹配,所以搜索词后移一位。 2、因为B与A不匹配,搜索词再往后移。 就这样,直到字符串有一个字符,与搜索词的第一个字符相同为止。接着比较字符串和搜索词的下一个字符,还是相同。直到字符串有一个字符,与搜索词对应的字符不相同为止。这时,最自然的反应是,将搜索词整个后移一位,再从头逐个比较。这样做虽然可行,但是效率很差,因为你要把搜索位置移到已经比较过的位置,重比一遍。 * * KMP引入 一个基本事实是,当空格与D不匹配时,你其实知道前面六个字符是“ABCDAB”。KMP算法的想法是,设法利用这个已知信息,不要把“搜索位置”移回已经比较过的位置,继续把它向后移,这样就提高了效率。 怎么做到这一点呢?可以针对搜索词,算出一张《部分匹配表》 下面介绍《部分匹配表》是如何产生的。 首先,要了解两个概念:前缀和后缀。 前缀指除了最后一个字符以外,一个字符串的全部头部组合;后缀指除了第一个字符以外,一个字符串的全部尾部组合。 * * 部分匹配表 部分匹配值就是前缀和后缀的最长的
您可能关注的文档
最近下载
- 初中信息技术学业水平考试知识点(操作题) .pdf VIP
- 2026年中医皮肤与性病学(正高)考试试题及答案.docx VIP
- 教科版三年级下册科学实验报告(20 篇).doc VIP
- 中小学生水域行为规范与防溺水主题班会课件(2025秋季版).pptx VIP
- 2026年福建省福州市中考数学二检试卷附答案解析.pdf
- 安全系统工程安全系统工程综合练习.doc VIP
- 2023年江苏无锡编外员工招聘笔试参考题库含答案详解.pdf VIP
- 初中“十五五”发展规划(2026-2030).docx VIP
- D-Z-T 0213-2020 矿产地质勘查规范 石灰岩、水泥配料类(正式版).docx VIP
- 【通用】交友友谊主题班会:远离背后蛐蛐_让友谊在阳光下绽放(课件).pptx
原创力文档

文档评论(0)