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;

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

 

 

目录
相关文章
|
3月前
AcWing 831. KMP字符串
AcWing 831. KMP字符串
21 0
|
3月前
|
算法
KMP算法
KMP算法
50 0
|
算法
KMP算法(字符串匹配)(AcWing)
KMP算法(字符串匹配)(AcWing)
101 0
|
算法
看了这个你基本就会算kmp算法的next数组了
看了这个你基本就会算kmp算法的next数组了
|
算法
一招教你看懂KMP算法next数组
一招教你看懂KMP算法next数组
110 0
|
存储 算法
KMP算法总结
KMP算法总结
94 0
|
算法 Python
KMP算法以及next数组(详细易懂版)
KMP算法以及next数组(详细易懂版)
|
算法
KMP算法总结笔记
KMP算法总结笔记
88 0
KMP算法总结笔记
|
存储 算法 索引
代码随想录刷题|LeetCode KMP算法理论 28. 实现 strStr() 459.重复的子字符串
代码随想录刷题|LeetCode KMP算法理论 28. 实现 strStr() 459.重复的子字符串
代码随想录刷题|LeetCode KMP算法理论 28. 实现 strStr() 459.重复的子字符串