Skip to content

WYHEF/KMP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 

Repository files navigation

KMP算法可视化演示

一个交互式的 KMP(Knuth-Morris-Pratt)字符串匹配算法可视化工具,帮助理解算法的执行过程。

在线演示 License

image-20260318121452295

功能特点

  • 完整的算法可视化:展示 next 数组构建和 KMP 匹配两个核心阶段
  • 分步控制:支持单步执行,可随时前进或后退
  • 自动运行:可调节速度的自动演示模式
  • 实时状态显示:显示当前阶段、操作说明和匹配结果
  • 交互式输入:支持自定义主串和模式串
  • 视觉图例:清晰的颜色标识区分不同状态

使用方法

  1. 直接在浏览器中打开 kmp算法可视化.html 文件
  2. 在输入框中设置主串和模式串(或使用随机按钮生成示例)
  3. 点击"应用字符串并开始"初始化
  4. 使用控制按钮进行操作:
    • 上一步/下一步:单步调试
    • 自动运行:自动演示完整过程
    • 跳转到匹配阶段:跳过 next 数组构建
    • 速度控制:调节自动运行速度

算法说明

KMP 算法是一种高效的字符串匹配算法,时间复杂度为 O(n+m):

  1. Next 数组构建:预处理模式串,计算最长相等前后缀长度
  2. KMP 匹配:利用 next 数组避免重复比较,高效完成匹配

颜色图例

颜色 含义
黄色 当前比较的字符
绿色 匹配成功
红色 匹配失败
蓝色 前缀
紫色 后缀

技术栈

  • HTML5
  • CSS3
  • JavaScript(原生)
  • Tailwind CSS(CDN)

预览

打开 HTML 文件即可在浏览器中运行,无需安装任何依赖。

许可证

MIT License

About

KMP算法可视化

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages