基于C#实现并对比三种基本的字符串匹配算法-RK算法-KMP算法-朴素算法

1 需求分析

1.1 系统目标

实现题目说所要求的三种匹配算法的算法设计,算法实现,程序能够稳定,准确的运行并实现字符串匹配的功能,做出相应的窗体界面程序

分析完成三种算法的时间复杂度,通过程序实验实现三种算法之间用时的比较

按时撰写完成课程设计的文档和进度表

优化设计程序的健全度和用户体验

1.2 系统功能需求

文本的输入选择功能

可以选择键入英文文本或者从文件中读入英文文本

错误检查功能

可以检查输入的英文文本以及输入的模式串中是否有非英文文本字符,如果有提示修改并重新输入

字符串匹配算法选择功能

提供朴素算法、Rabin-Karp算法、KMP算法,3种算法进行比较这四个选择

重复匹配功能

如果文本中多次出现需要匹配的模式串,输出重复出现的次数,以及每次在主串中匹配成功的初始位置

时间的计算和比较

选择一种算法匹配,如果匹配成功,输出该算法匹配成功所花费的时间,如果匹配失败,则输出匹配失败。选择3种算法比较,如果匹配成功,输出3种算法匹配成功耗时和耗时最长和最短的算法的名字,如果匹配失败,则输出匹配失败

显示文本功能

匹配之后会显示每次在主串中匹配成功的位置,点击位置,会弹出文本框,显示匹配上的位置

参考文档和完整的文档和源码下载地址:

https://www.write-bug.com/article/1461.html

你可能感兴趣的:(基于C#实现并对比三种基本的字符串匹配算法-RK算法-KMP算法-朴素算法)