⚡ KMP 算法核心原理演示程序
最长相等真前后缀 (Border) · 模式串自匹配求 $\pi$ · 文本指针永不回退
🔄 模式一:$\pi$ 数组构建
🔍 模式二:文本串对准查找
预设用例:
经典标准:s="ABABABC", p="ABABC"
多层回退:p="ABACABAB"
重复前缀:s="AAAAAB", p="AAA"
连续重叠:s="AABAABAABA", p="AABA"
文本 $s$:
模式 $p$:
⏮ 上一步
下一步 ⏭
▶ 自动播放
↺ 重置
慢速 (1.5s)
正常 (1.0s)
快速 (0.6s)
模式串 $p$
真前缀候选
📊 前缀函数 $\pi$ 数组(0-based,表示 $p[0..i]$ 的最长相等真前后缀长度):
💡 $j$ 既是已匹配长度,也是下一位待比对下标 $p[j]$
🚩 步骤:准备就绪
0 / 0
点击“下一步”或“自动播放”,开始观察算法执行!
指针 $i$ = 0
指针 $j$ = 0
当前 Border: 无
动作: 待开始
C++ 核心代码实时追踪