KMP 字符串匹配
预处理模式串生成Next数组,匹配失败无需回退主串,线性时间查找子串
主串指针: 0 模式串指针: 0 匹配数: 0 状态: 就绪
算法说明
时间复杂度:O(n + m),n为主串长度,m为模式串长度
空间复杂度:O(m)
核心思想:预处理模式串构建 Next 前缀函数数组,记录模式串每个位置的最长相同前后缀长度。匹配失败时利用 Next 数组跳转,避免主串指针回退,实现线性时间匹配。
预处理模式串生成Next数组,匹配失败无需回退主串,线性时间查找子串
时间复杂度:O(n + m),n为主串长度,m为模式串长度
空间复杂度:O(m)
核心思想:预处理模式串构建 Next 前缀函数数组,记录模式串每个位置的最长相同前后缀长度。匹配失败时利用 Next 数组跳转,避免主串指针回退,实现线性时间匹配。