题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5442打比赛的时候还没学kmp更没有学最大最小表示法,之后做完了kmp的专题,学了它们,现在再来做这道题,断断续续做了一段时间最终还是对了;题意:就是有一个甜圈由n个部分组成,每部分的甜度由一个小写字母来...
分类:
其他好文 时间:
2015-10-11 12:55:20
阅读次数:
150
本文针对数据结构基础系列网络课程(4):串。
1. 串的基本概念及导学
2. 串的顺序存储及其基本操作实现
3. 串的顺序存储应用
4. 串的链式存储及其基本操作实现
5. 串的模式匹配(Brute-Force算法)
6. 串的模式匹配(KMP算法)【项目1 - 建立顺序串的算法库】
定义顺序串的存储结构,实现其基本运算,并完成测试。
要求:
1、头文件sqSt...
分类:
其他好文 时间:
2015-10-11 06:49:22
阅读次数:
283
package DataStructure;import java.util.ArrayList;import java.util.List;//KMP算法的实现//以下代码由freedom结合资料理解写出public class DMPtest1 { private int next[] ...
分类:
编程语言 时间:
2015-10-10 17:06:14
阅读次数:
206
实现strstr()函数。返回needle(关键字)在haystack(字符串)中第一次出现的位置,如果needle不在haystack中,则返回-1。著名的解决算法主要有:KMP、Rabin-Karp和Boyer-Moore算法。...
分类:
其他好文 时间:
2015-10-10 00:30:46
阅读次数:
222
说起kmp就要从字符串的匹配说起,下面我们谈谈字符串的匹配给定一个原字符串:bababababababababb,再给定一个模式串:bababb,求模式串是否在源字符串中出现最简单的方法就是遍历源字符串,再遍历模式串,依次进行对比。当遇到不匹配的字符时源字符串和模式串返回下一个位置重新开始匹配,复杂...
分类:
其他好文 时间:
2015-10-10 00:19:30
阅读次数:
209
问题:串的模式匹配
KMP算法:#include
#include "sqString.h"
void GetNext(SqString t,int next[]) /*由模式串t求出next值*/
{
int j,k;
j=0;
k=-1;
next[0]=-1;
while (j<t.length-1)
{...
分类:
编程语言 时间:
2015-10-07 19:02:16
阅读次数:
203
这篇长文历时近两天终于完成了,前两天帮网站翻译一篇文章“为什么GNU grep如此之快?”,里面提及到grep速度快的一个重要原因是使用了Boyer-Moore算法作为字符串搜索算法,兴趣之下就想了解这个算法,发现这个算法一开始还挺难理解的,也许是我理解能力不是很好吧,花了小半天才看懂,看懂了过后就...
分类:
编程语言 时间:
2015-10-07 17:16:48
阅读次数:
392
给一个字符串。求这个串的最小的循环节的长度。好像。num = len/(len-next[len])就是循环节的长度。如果 len%(len-next[len]) ==0 就是说字符串长度刚好是循环节长度的整数倍。不然的话。说明没有最小循环节。证明嘛。这里好像还是蛮靠谱的。http://blog.c...
分类:
其他好文 时间:
2015-10-06 16:40:32
阅读次数:
164
感觉这里讲的挺好的。http://cavenkaka.iteye.com/blog/1569062就是不断递归next数组。长度不断减小。题意:给你一个串,如果这个串存在一个长度为n的前缀串,和长度为n的后缀串,并且这两个串相等,则输出他们的长度n。求出所有的长度n。思路:KMP中的get_next...
分类:
编程语言 时间:
2015-10-06 15:25:13
阅读次数:
224
1 #include 2 #include 3 #include 4 5 using namespace std; 6 7 int m,n; 8 char s[1010]; 9 char t[1010];10 int next1[1010];11 12 void getnext()13 ...
分类:
其他好文 时间:
2015-10-06 14:04:15
阅读次数:
275