1 数据结构 课程设计报告 设计题目:模式匹配中的KMP 算法的实现 专业:计算机科技 院系:计算机学院 姓名:xxxxxxxx 学号:xxxxxxx 时间:2013年 9月 22日 2 目 录 1 需求分析 ............................................................. 3 1.1 问题描述 .................................................................................................................... 3 1.2 基本要求 .................................................................................................................... 3 2 概要设计 ............................................................. 3 3 详细设计 ............................................................. 5 3.1 为主串和模式串赋值 ......................................................................................... 5 3.2 利用Ou tpu t()函数输出串。 ................................................................... 55 3.3 求各串的长度 ......................................................................................................... 6 3.4 求模式串的模式值nex t[]函数 ...................................................................... 6 3.5 模式匹配 KMP 算法的实现: ...................................................................... 7 4 测试与分析 ........................................... 7 5 总结 .................................................................. 9 6 附录:源程序清单 .................................................. 9 参考文献 ............................................................... 13 3 1 需求分析 1.1 问题描述 KMP算法是对一般模式匹配算法的改进,由 D.E.Knuth与 V.R.Pratt和 J.H.Morris 同时发现的因此人们称它为克努特-莫里斯-莫拉特操作(简称为 KMP算法)。 对于一般的模式匹配算法:分别利用两个指针 i和 j指示主串 S和 T中的当前正待比较的字符位置。算法的基本思想是:从主串的 S的第 POS个字符开始起和模式的第一个字符比较之,如相等,则继续逐个比较后续字符;否则从主串的下一个字符起再重新和模式的字符比较之。以此类推,直到...