文学研究助手与模式匹配算法KMP
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
北京理工大学珠海学院课程设计说明书
2010 —2011 学年第二学期
题目: 文学研究助手与模式匹配算法KMP
学院:计算机科学与技术学院
专业班级:
学号:
学生姓名:
指导教师:
成绩:
时间:
北京理工大学珠海学院
课程设计任务书
2010 ~2011学年第二学期
学生姓名:专业班级:
指导教师:工作部门:
一、课程设计题目
文学研究助手与模式匹配算法KMP
二、课程设计内容(含技术指标)
【问题描述】
文学研究人员需要统计某篇英文小说中某些形容词的出现次数和位置。试写一个实现这一目标的文字统计系统
【任务要求】
英文小说存于一个文本文件中。待统计的词汇集合要一次输入完毕,即统计工作必须在程序的一次运行之后就全部完成。程序的输出结果是每个词的出现次数和出现位置所在的行的行号,格式自行设计。待统计的“单词”在文本串中不跨行出现,它或者从行首开始,或者前置以一个空格符。
模式匹配要基于KMP算法。
推广到更一般的模式集匹配问题,并设待查模式串可以跨行(提示:定义操作GetAChar)。
【测试数据】
文本文件为testword.c
待统计的词集:if、else、for、while、return、void、int、char、typedef、struct
三、进度安排
1.初步设计:写出初步设计思路,进行修改完善,并进行初步设计。
2.详细设计:根据确定的设计思想,进一步完善初步设计内容,按要求编写出数据结构类型定义、各算法程序、主函数。编译分析调试错误。
3.测试分析:设计几组数据进行测试分析,查找存在的设计缺陷,完善程序。
4.报告撰写:根据上面设计过程和结果,按照要求写出设计报告。
5.答辩考核验收:教师按组(人)检查验收,并提出相关问题,以便检验设计完成情况。
四、基本要求
1.在设计时,要严格按照题意要求独立进行设计,不能随意更改。若确因条件所限,必须要改变课题要求时,应在征得指导教师同意的前提下进行。
2.在设计完成后,应当场运行和答辩,由指导教师验收,只有在验收合格后才能算设计部分的结束。
3.设计结束后要写出课程设计报告,以作为整个课程设计评分的书面依据和存档材料。设计报告以规定格式的电子文档书写、打印并装订,报告格式严格按照模板要求撰写,排版及图、表要清楚、工整。
从总体来说,所设计的程序应该全部符合要求,问题模型、求解算法以及存储结构清晰;具有友好、清晰的界面;设计要包括所需要的辅助程序,如必要的数据输入、输出、显示和错误检测功能;操作使用要简便;程序的整体结构及局部结构要合理;设计报告要符合规范。
课程负责人签名:
年月日
题目
选题四:文学研究助手与模式匹配算法KMP
摘要
本实践课题重在对文本的查询,在实际应用中有重大作用。通过本程序,可统计所需文本的一个或多个词汇在文本中出现的次数与位置,其作用在于给使用者研究一篇文学著作时提供帮助。当研究一片文学著作时,不紧要理解著作的内容和寓意,有是更需要分析作者的写作手法和习惯,这是统计著作中词汇的出现次数与位置成了文学研究的重点课题。本程序就可以为文学研究者提供这类帮助。本程序基于模式匹配算法KMP实现,为普通模式匹配的改进,,优点在与时间复杂度由原来的O(n*m)变为O(n+m),即是说统计时间大大缩短。当要统计的词汇量很大时,计算机统计所需时间将很漫长,如果使用者急需使用统计结果,这是又因为统计太慢导致研究受阻,这样就得不偿失了。而本程序将大大改善这种状况,让计算机在短时间内统计出使用者想要的统计结果。本程序虽然精简,但是对模式匹配算法KMP的使用极其灵活,需开发者深刻理解模式匹配算法KMP,思路清晰,灵活调用模式匹配算法KMP的函数,否则开发者将极难开发成功。
关键词:文学研究模式匹配KMP
目录
摘要······························································- 4 -关键词······························································- 4 -1 课程设计相关 ················································- 6 -1.1题目要求 ·························································· - 6 -
1.1.1实验所在地点 ·················································· - 6 -
2 课程设计实施 ................................................- 7 -2.1设计思路.......................................................... - 7 -2.1.1课程设计时间分配 ............................................ - 7 -2.2源程序代码实现 ................................................. - 8 -2.3 程序调试演示与分析..........................................- 10 -参考文献......................................................... - 13 -心得体会......................................................... - 14 -教师评语. (15)
计算机学院课程设计答辩记录表 ·········错误!未定义书签。