Patrickpwq

一个初中oier的长征路

KMP学习心得

嗯。。。我不会讲什么原理之类的 我只会讲一下自己搞了很久才明白的地方

1.关于j的通俗定义

j是一个指针 相当于当前i对应的s1在s2里面的位置 若根本就没有一个相同的字符那就是0

2.关于next数组的通俗理解

对于s2的一个字母s next[s]相当于s所在的一个字符串的前面那一坨(这个字符串是等于前面那一坨的一个前缀的) 的位置

3.关于每次j怎么变化

若j的下一个指向的这个字母与i的不相同 那相当于要把整个s2字符串往右移 相当于就是把j移到next[j]的位置(这看似往前移了 实质上把j往左移是把整个s2往后移)

4.j的边界

当j等于0 说明之前的j指向的那个字母是无法找到一个串与这个串紧接着的前面的那一坨里的一个前缀相等 所以我们只有把i往右移



阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Patrickpwq/article/details/79951536
文章标签: KMP 字符串
个人分类: 字符操作
想对作者说点什么? 我来说一句

学习心得,学习心得,学习心得

2011年06月19日 22.9MB 下载

kmp算法实现

2012年10月29日 1KB 下载

超级vc++学习心得

2010年03月08日 780KB 下载

kmp 匹配算法

2008年06月26日 705B 下载

Hibernate学习心得

2010年10月21日 6KB 下载

没有更多推荐了,返回首页

不良信息举报

KMP学习心得

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭