KMP数据结构模板

简介: KMP

KMP数据结构模板

  • KMP


KMP

// s[]是长文本,p[]是模式串,n是s的长度,m是p的长度
//求模式串的Next数组:
for (int i = 2, j = 0; i <= m; i ++ )
{
    while (j && p[i] != p[j + 1]) j = ne[j];
    if (p[i] == p[j + 1]) j ++ ;
    ne[i] = j;
}
// 匹配
for (int i = 1, j = 0; i <= n; i ++ )
{
    while (j && s[i] != p[j + 1]) j = ne[j];
    if (s[i] == p[j + 1]) j ++ ;
    if (j == m)
    {
        j = ne[j];
        // 匹配成功后的逻辑
    }
}

本模板来自:AcWing算法基础课

相关博客:KMP

目录
打赏
0
0
0
0
62
分享
相关文章
C++数据结构设计:理解并选择策略模式与模板特化
C++数据结构设计:理解并选择策略模式与模板特化
118 2
【牛客题霸】【模板】栈|栈的压入、弹出序列(下)
【牛客题霸】【模板】栈|栈的压入、弹出序列
95 0
单调栈模板总结及应用
单调栈模板总结及应用
105 0
链表数据结构的C++实现:类模板实现线性表的链式存储
链表数据结构的C++实现:类模板实现线性表的链式存储
151 0
链表数据结构的C++实现:类模板实现线性表的链式存储
计算机考研数据结构算法模板
计算机考研数据结构算法模板
173 0
计算机考研数据结构算法模板
常见数据结构-字符串解题模板
常见数据结构-字符串解题模板
『牛客|数据结构|栈』模板栈
基础算法无论在研究生面试还是求职面试都是十分重要的一环,这里推荐一款算法面试神器:牛客网-面试神器;算法题只有多刷勤刷才能保持思路与手感,大家赶紧行动起来吧(温馨提示:常见的面试问答题库也很nice哦
122 0
『牛客|数据结构|栈』模板栈
【数据结构】【模板】
【数据结构】【模板】
112 0
【数据结构】树状数组【模板】
【数据结构】树状数组【模板】
80 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等