KMP模式匹配练习题
使用KMP算法在文本串S中找模式串P是一种常见的方法。假设S=P={xyxyyxxyx},亦即将S对自己进行匹配,匹配过程中正确的next数组是____。
模式串的各个子串 |
前缀 |
后缀 |
最大公共元素长度 |
x |
空 |
空 |
0 |
xy |
x |
y |
0 |
xyx |
x , xy |
x , yx |
1 ( x ) |
xyxy |
x , xy , xyx |
y , xy , yxy |
2 ( xy ) |
xyxyy |
x , xy , xyx , xyxy |
y , yy , xyy , yxyy |
0 |
xyxyyx |
x , xy , xyx , xyxy , xyxyy |
x , yx , yyx , xyyx , yxyyx |
1 ( x ) |
xyxyyxx |
x , xy , xyx , xyxy , xyxyy ,xyxyyx |
x , xx , yxx , yyxx , xyyxx ,yxyyxx |
1 ( x ) |
xyxyyxxy |
x , xy , xyx , xyxy , xyxyy ,xyxyyx , xyxyyyxx |
y , xy , xxy , yxxy , yyxxy ,xyyxxy , yxyyxxy |
2 ( xy ) |
xyxyyxxyx |
x , xy , xyx , xyxy , xyxyy ,xyxyyx , xyxyyyxx , xyxyyyxxy |
x , yx , xyx , xxyx , yxxyx ,yyxxyx , xyyxxyx , yxyyxxyx |
3 ( xyx ) |
2、通过“最长相同前缀后缀长度值右移一位,然后初值赋为 -1 ”得到的 next 数组:
模式串 |
X |
Y |
X |
Y |
Y |
X |
X |
Y |
X |
前缀最大公共元素 |
0 |
0 |
1 |
2 |
0 |
1 |
1 |
2 |
3 |
Next |
-1 |
0 |
0 |
1 |
2 |
0 |
1 |
1 |
2 |
KMP模式匹配练习题的更多相关文章
- KMP模式匹配_2
http://blog.csdn.net/lin_bei/article/details/1252686 三. 怎么求串的模式值next[n] 定义: (1)next[0]= -1 意义:任何串的第一 ...
- YTU 2297: KMP模式匹配 三(串)
2297: KMP模式匹配 三(串) 时间限制: 1 Sec 内存限制: 128 MB 提交: 25 解决: 16 [提交][状态][讨论版] [Edit] [TestData] 题目描述 输入一 ...
- YTU 2296: KMP模式匹配 二(串)
2296: KMP模式匹配 二(串) 时间限制: 1 Sec 内存限制: 128 MB 提交: 29 解决: 17 题目描述 输入一个主串和一个子串,用KMP进行匹配,问进行几趟匹配才成功,若没成 ...
- YTU 2295: KMP模式匹配 一(串)
2295: KMP模式匹配 一(串) 时间限制: 1 Sec 内存限制: 128 MB 提交: 32 解决: 22 题目描述 求子串的next值,用next数组存放,全部输出 输入 输入一个字符串 ...
- KMP模式匹配 三(弦)
原文请訪问我的博客:xiaoshig.sinaapp.com KMP模式匹配 三(串) Time Limit:1000MS Memory Limit:131072KB 64bit IO ...
- KMP算法 KMP模式匹配 一(串)
A - KMP模式匹配 一(串) Crawling in process... Crawling failed Time Limit:1000MS Memory Limit:131072KB ...
- 2295: KMP模式匹配 一(串)
2295: KMP模式匹配 一(串) 时间限制: 1 Sec 内存限制: 128 MB提交: 210 解决: 97[提交][状态][讨论版][命题人:外部导入] 题目描述 求子串的next值,用n ...
- 字符串的朴素模式和KMP模式匹配
先复习一下字符串指针: #include <iostream> #include <string.h> using namespace std; int main() { ch ...
- KMP模式匹配
http://www.cnblogs.com/wangguchangqing/archive/2012/09/09/2677701.html nextal[j+1]=next[j]+1 KMP算法的实 ...
随机推荐
- 数字证书文件格式(cer和pfx)的区别
作为文件形式存在的证书一般有这几种格式: 1.带有私钥的证书 由Public Key Cryptography Standards #12,PKCS#12标准定义,包含了公钥和私钥的二进制格式的证书形 ...
- Codeforces 650A Watchmen
传送门 time limit per test 3 seconds memory limit per test 256 megabytes input standard input output st ...
- jquery------.resizable()的使用
index.jsp //加上这两行代码,右下角会有样式效果<link rel="stylesheet" href="//code.jquery.com/ui/1.1 ...
- boost解析json(2)
"{ "A":1, "B":{ "C":2, "D":3 }, "E":[ {" ...
- 裴波那契数列 JavaScript 尾递归实现
一般递归实现 : //经典递归 function fibonacci(n) { return (function(n) { ) ; ); })(n); } 或者: function fibonacci ...
- 锋利的jQuery-4--停止动画和判断是否处于动画状态(防止动画加入队列过多的办法)
1.停止元素的动画:stop([cleanQueue, gotoEnd]):第一个参数代表是否要清空未执行完的动画队列,第二个参数代表是否直接将正在执行的动画跳转到末状态. 无参数stop():立即停 ...
- rsync+inotify 实现服务器之间目录文件实时同步(转)
软件简介: 1.rsync 与传统的 cp. tar 备份方式相比,rsync 具有安全性高.备份迅速.支持增量备份等优点,通过 rsync 可 以解决对实时性要求不高的数据备份需求,例如定期的备份文 ...
- 新浪微博客户端(10)-切换多个fragment
ViewController.m #import "ViewController.h" #import "DJOneViewController.h" #imp ...
- [转载]如何在Ubuntu上安装LAMP服务器系统
[2013年7月25日 51CTO外电头条]为何应该在Ubuntu上安装LAMP服务器?从事Web开发工作时,我更偏爱在不受干扰的情况下,在我那台计算机上的开发环境下进行开发.我宁愿所犯的错误大部分是 ...
- Spring各个jar包的简介
spring.jar是包含有完整发布的单个jar 包,spring.jar中包含除了spring-mock.jar里所包含的内容外其它所有jar包的内容,因为只有在开发环境下才会用到 spring-m ...