KMP算法是对一般模式匹配算法的改进,由D.E.Knuth与V.R.Pratt和J.H.Morris 同时发现的因此人们称它为克努特-莫里斯-莫拉特操作(简称为KMP算法)。 对于一般的模式匹配算法:分别利用两个指针i和j指示主串S和T中的当前正待比较的字符位置。算法的基本思想是:从主串的S的第POS个字符开始起和模式的第一个字符比较之,如相等,则继续逐个比较后续字符;否则从主串的下一个字符起再重新和模式的字符比较之。以此类推,直到模式T中的每个字符依次和主串S中的一个连续字符序列相等,则称匹配成功,则函数值为和模式T中的第一个字符相等的字符在主串S中的序号,否则称匹配不成功,函数值为0.而对于模式匹配的KMP算法可以在O(n+m)的时间数量级上完成串的模式匹配操作。其改进过程在于:每当一趟匹配过程出现字符比较不相等时,不需回溯i指针,而是利用已经得到的部分匹配的结果将模式串向右滑动一段尽可能远的距离后,继续进行比较。滑动的这一段距离我们将会用到函数Next[], KMP算法的最大特点是指示主串的指针不须回溯,整个匹配过程中,对主串仅需从头到尾扫描一遍,这对处理从外设输入的庞大文件很有效,可以边度入边匹配,而无需回头重读。 开发工具:C语言
2021-04-10 21:02:13 118KB 数据结构 课程设计 实验报告 KMP算法
1
设停车场内只有一个可停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在车场的最北端),若车场内已停满n辆汽车,则后来的汽车只能在门外的便道上等候,一旦有车开走,则排在便道上的第一辆车即可开入;当停车场内某辆车要离开时,在它之后开入的车辆必须先退出车场为它让路,待该辆车开出大门外,其它车辆再按原次序进入车场,每辆停放在车场的车在它离开停车场时必须按它停留的时间长短交纳费用。试为停车场编制按上述要求进行管理的模拟程序。
2021-04-10 20:02:16 5KB c语言 队列 程序设计
1
这是2020年五邑大学数据结构课程设计的报告和源代码,报告和源代码都在里面了,本报告和代码已经验收了,成绩优秀,报告满足字数要求,代码完全自主设计编写,没有任何bug,可以正常运行,可以拿去参考一下,有不懂的地方可以私聊咨询哦。
2021-04-09 21:07:21 2.36MB 数据结构课程设计报告+代码
1
PAGE PAGE 1 中南大学 数据结构课程设计 题 目 第9题 Dijkstra算法求最短路径 学生姓名 XXXX 指导教师 XXXX 学 院 信息科学与工程学院 专业班级 XXXXXXX 完成时间 XXXXXXX 目录 问题分析与任务定义3 1.1 课程设计题目3 1.2 原始数据的输入格式3 1.3 实现功能3 1.4 测试用例3 1.5 问题分析3 数据结构的选择和概要设计4 2.1
2021-04-04 13:29:41 182KB 文档 互联网 资源
《数据结构课程设计》最短路径问题实验报告,实验报告进攻参考
2021-04-02 18:01:59 240KB 最短路径问题
1
数据结构课程设计(公交车站点java版)
2021-03-31 20:09:11 48KB java
1
此为大二学生2020年数据结构课程设计作业,由C语言完成,含图形界面。运行环境:VS2017+EGE。文档包括数据结构说明报告、用户使用说明报告、功能需求&总体方案设计报告、测试&评价和改进意见报告,源码包括项目工程所有资源文件、源代码文件和可执行文件等。供参考使用。 课程设计题目:COVID-19疫情环境下低风险旅行模拟系统的设计 城市之间有各种交通工具(汽车、火车和飞机)相连,有些城市之间无法直达,需要途径中转城市。某旅客于某一时刻向系统提出旅行要求。考虑在当前COVID-19疫情环境下,各个城市的风险程度不一样,分为低风险、中风险和高风险三种。系统根据风险评估,为该旅客设计一条符合旅行策略的旅行线路并输出;系统能查询当前时刻旅客所处的地点和状态。
2021-03-30 10:55:07 3.54MB 北京邮电大学 数据结构 课程设计 ege
1
小镇导航,内含实验代码,课程设计报告,输入数据。实验报告非常详细。代码有注释。 问题描述: 某小镇路口众多,拥堵严重,每个路口有专门交警负责。于是,各交警对各自负责路口的转向进行限制:在路口的各入口前都设置指示牌,不同方向进入的车辆只能对应指示牌转向。于是,小镇开车出行不怎么费油,然而特别费智商! 请你设计一个程序,帮助悲催的司机们找到出行的最短路径吧(即经过的路口最少),当然也可能根本就不存在路径。 交通图的设置格式:进入路口的方向(N E W S 分别代表 北 东 西 南,即上右左下 )不同,允许转向也不同(L R F 分别代表允许左 右 直行)。 例如,下左图第一行第二列的路口的字符串: 1 2 WLF NR ER # 代表 1行2列路口的三个路标:若从W(西,左)进入路口,可以L(左拐),F(直行);若从N(北上)或者E(西右)进入,则只能R(右拐)。(#只是分隔标志)。
2021-03-30 09:07:57 1.47MB 数据结构 c++
1
数据结构课程设计报告+源代码 用图实现交通咨询系统
2021-03-29 16:18:43 77KB 数据结构课程设计 交通咨询系统
1
职工工资管理系统 数据结构课程设计(源代码附实验报告)
2021-03-21 16:00:59 279KB c++
1