一个交互式的 KMP(Knuth-Morris-Pratt)字符串匹配算法可视化工具,帮助理解算法的执行过程。
- 完整的算法可视化:展示 next 数组构建和 KMP 匹配两个核心阶段
- 分步控制:支持单步执行,可随时前进或后退
- 自动运行:可调节速度的自动演示模式
- 实时状态显示:显示当前阶段、操作说明和匹配结果
- 交互式输入:支持自定义主串和模式串
- 视觉图例:清晰的颜色标识区分不同状态
- 直接在浏览器中打开
kmp算法可视化.html文件 - 在输入框中设置主串和模式串(或使用随机按钮生成示例)
- 点击"应用字符串并开始"初始化
- 使用控制按钮进行操作:
- 上一步/下一步:单步调试
- 自动运行:自动演示完整过程
- 跳转到匹配阶段:跳过 next 数组构建
- 速度控制:调节自动运行速度
KMP 算法是一种高效的字符串匹配算法,时间复杂度为 O(n+m):
- Next 数组构建:预处理模式串,计算最长相等前后缀长度
- KMP 匹配:利用 next 数组避免重复比较,高效完成匹配
| 颜色 | 含义 |
|---|---|
| 黄色 | 当前比较的字符 |
| 绿色 | 匹配成功 |
| 红色 | 匹配失败 |
| 蓝色 | 前缀 |
| 紫色 | 后缀 |
- HTML5
- CSS3
- JavaScript(原生)
- Tailwind CSS(CDN)
打开 HTML 文件即可在浏览器中运行,无需安装任何依赖。
MIT License
