KMP算next数组(2023 _ 7 _ 23 )笔记

简介: KMP算next数组(2023 _ 7 _ 23 )笔记

//计算next数组就是模板串自己与自己进行匹配操作得出来的

 

   

t[0]为字符串的长度     
while(l <= t[0]){
     if(k == 0 && t[l] == t[k]){
      l++;
      k++;
      ne[l] = k;
    }
    }

解读代码

其实就是先判断 l 位置和 k 位置的是否相等如果相等那么后一个位置的next的值自然 + 1,当回溯到不能在回溯的时候也就是k = 0的时候此时next[i + 1] = 1;

为什么回溯的值是最大相等的前后缀数目

 

 

目录
相关文章
|
算法 JavaScript 测试技术
较难理解的字符串查找算法KMP
较难理解的字符串查找算法KMP
|
6月前
|
算法 C++ 索引
leetcode-28:实现 strStr()(字符串匹配,暴力匹配算法和KMP算法)
leetcode-28:实现 strStr()(字符串匹配,暴力匹配算法和KMP算法)
79 0
|
1月前
AcWing 831. KMP字符串
AcWing 831. KMP字符串
8 0
|
1月前
|
算法
KMP算法
KMP算法
30 0
|
4月前
|
算法 Python
KMP
【7月更文挑战第7天】
47 5
|
算法
KMP算法(字符串匹配)(AcWing)
KMP算法(字符串匹配)(AcWing)
92 0
|
算法
看了这个你基本就会算kmp算法的next数组了
看了这个你基本就会算kmp算法的next数组了
LeetCode-28 实现strStr() KMP算法的学习
LeetCode-28 实现strStr() KMP算法的学习
|
存储 算法
理解KMP
理解KMP
74 0