博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
字符串匹配KMP算法
阅读量:4113 次
发布时间:2019-05-25

本文共 306 字,大约阅读时间需要 1 分钟。

字符串匹配问题:求出模板在文本中的所有匹配点,所谓匹配点是指从当前点开始,在模板的长度内,模板与文本字符一样。

朴素的字符串匹配,当模板与文本不匹配时,模板右移一位然后,从模板0位置开始继续检测当前文本点是否是匹配点。复杂度n*m。

KMP匹配:

核心思想:当模板与文本在某点不匹配时,不是模板重新开始从下标0开始进行匹配,而是充分利用文本中已经匹配过的字符串,构造一个失配函数F[i]表示当文本与模板的i位置失配时,文本s可能与模板t的f[i]位置匹配。比如对于模板abbaaba来说,当文本与模板在下标[6]=a处发生失配(说明5及之前都是匹配的),那么我们可以直接接着比较模板t[2]与当前的文本是否匹配。

转载地址:http://oogsi.baihongyu.com/

你可能感兴趣的文章
Linux分区方案
查看>>
nc 命令详解
查看>>
如何使用 systemd 中的定时器
查看>>
git命令速查表
查看>>
linux进程监控和自动重启的简单实现
查看>>
OpenFeign学习(三):OpenFeign配置生成代理对象
查看>>
OpenFeign学习(四):OpenFeign的方法同步请求执行
查看>>
OpenFeign学习(五):OpenFeign请求结果处理及重试控制
查看>>
OpenFeign学习(六):OpenFign进行表单提交参数或传输文件
查看>>
OpenFeign学习(七):Spring Cloud OpenFeign的使用
查看>>
Ribbon 学习(二):Spring Cloud Ribbon 加载配置原理
查看>>
Ribbon 学习(三):RestTemplate 请求负载流程解析
查看>>
深入理解HashMap
查看>>
XML生成(一):DOM生成XML
查看>>
XML生成(三):JDOM生成
查看>>
Ubuntu Could not open lock file /var/lib/dpkg/lock - open (13:Permission denied)
查看>>
collect2: ld returned 1 exit status
查看>>
C#入门
查看>>
查找最大值最小值
查看>>
C#中ColorDialog需点两次确定才会退出的问题
查看>>