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算法的实 ...
随机推荐
- ISO 基础之 (十二) 文件管理
一 文件管理 沙盒:让每个APP应用在手机上有一个独立的文件夹,相互之间不能访问. 沙盒目录:NSHomeDirectory() library: 库文件 tmp: 临时文件 1.NSData 也是一 ...
- <jsp:invoke fragment=""/>的理解和使用
在传统 JSP 中,想要实现页面布局管理比较麻烦,为了解决在 JSP 中布局的问题,出现了很多开源软件,比如 Apache Tiles 和 SiteMesh 就是其中比较优秀的.但是使用开源软件实现布 ...
- tp框架查询
<?php namespace Admin\Controller; use Think\Controller; class MainController extends Controller { ...
- iOS exit(0); 直接退出程序
exit();
- sqlmap注入检测
1.列出可利用数据库: sqlmap -u url --dbs 2.列出某个数据库中表: sqlmap -u url --tables -D south sqlmap -u ur ...
- 我的电脑右下角的日期也不见了只剩下时间,Win7系统,请问是什么原因啊?
A:今天是2013/10/10,日期变为八位,宽度就不够了,把任务栏拉宽就好了 Q:win7 任务栏时间区可以拉宽吗?使之显示日期等 A:你的任务栏锁定了的,右键单击任务栏-锁定任务栏前面的勾去掉,鼠 ...
- iOS工程如何支持64-bit(转)
苹果在2014年10月20号发布了一条消息:从明年的二月一号开始,提交到App Store的应用必须支持64-bit.详细消息地址为:https://developer.apple.com/news/ ...
- bootstrap tab切换如何让鼠标移动自动切换内容
bootstrap集成了很多功能,比如nav-tabs组件,可以将相似的内容集中在一个区块中展示.bootstrap tab切换默认是要点击才会切换的,如何实现鼠标移动就自动切换呢?如下图所示,光标移 ...
- Mac OS X【快捷键组合】汇总
以下是可能会出现在 OS X 菜单中的修饰键符号: ⌘—— () ⌃ ——Control ⌥—— (alt) ⇧——Shift ⇪——Caps Lock fn——功能键就是fn 启动快捷键 按下按键 ...
- FineUI第一天
示例:http://fineui.com/demo/ 文档:http://fineui.com/doc/ 下载:http://fineui.codeplex.com/ 1.fineUI基于extjs, ...