4-4-串的KMP匹配算法-串-第4章-《数据结构》课本源码-严蔚敏吴伟民版
2016-01-30 19:58
381 查看
课本源码部分
第4章 栈和队列-KMP匹配算法
——《数据结构》-严蔚敏.吴伟民版
源码使用说明 链接☛☛☛ 《数据结构》(严蔚敏,吴伟民版)课本源码+习题集解析使用说明
课本源码合辑 链接☛☛☛ 《数据结构》课本源码合辑
习题集全解析 链接☛☛☛ 《数据结构习题集》答案解析合辑
习题完整源码 链接☛☛☛ 习题完整源码合辑
本文涉及文件所在目录:数据结构\▲课本算法实现\▲04
串\04 KMP\
匹配算法如下图:
顺序串源文件☛☛☛SequenceString.c
更多章节持续更新中...
第4章 栈和队列-KMP匹配算法
——《数据结构》-严蔚敏.吴伟民版
源码使用说明 链接☛☛☛ 《数据结构》(严蔚敏,吴伟民版)课本源码+习题集解析使用说明
课本源码合辑 链接☛☛☛ 《数据结构》课本源码合辑
习题集全解析 链接☛☛☛ 《数据结构习题集》答案解析合辑
习题完整源码 链接☛☛☛ 习题完整源码合辑
本文涉及文件所在目录:数据结构\▲课本算法实现\▲04
串\04 KMP\
概述
KMP匹配算法是普通匹配算法的改进,它提高了串匹配过程中的效率。解析
[b]KMP匹配算法[/b]的重点在于利用模式串自身的重复部分,在匹配中消除那些重复的匹配过程。如下图,当模式串匹配与主串在Si和Pj处失配时,此时如果模式串的两个黄色区域重复,那么只需将模式串右移一定位置,让主串的黄色区域与模式串的第一个黄色区域做比较即可。也就是说,Pj处失配后,只需让主串的Si与Pk继续比较,而不必退回到P1处。KMP算法就是用来计算模式串某个字符处失配后,应该退回的下一个用来比较的字符位置。匹配算法如下图:
源码
文件一 ☛ KMP.h
本文档需要额外引入状态码头文件 ☛☛☛ Status.h顺序串源文件☛☛☛SequenceString.c
文件二 ☛ KMP.c
文件三 ☛ KMP-main.c(测试文档)
测试结果展示
更多章节持续更新中...
相关文章推荐
- 《树》之伸展树
- 线性表 之 集合的合并 (数据结构java语言版)
- 写的数据结构1对多再对多的形式结构
- 【数据结构和算法】Hash Table
- 数据结构实验之链表七:单链表中重复元素的删除
- 数据结构与算法的联系
- Nginx源码分析 - 基础数据结构篇 - 缓冲区结构 ngx_buf.c
- 数据结构(寒假小结)——3.2队列
- 数据结构——线性表
- Android笔记 - Binder之数据结构(一)
- Guid算法与标识列(自动增长字段)在表中的应用
- 高级数据结构实现——自顶向下伸展树
- 高级数据结构实现——自顶向下伸展树
- 数据结构学习心得总结
- 2015年大二上-数据结构-图-1-(5)-迷宫问题之图深度优先遍历解法
- 树[数据结构]
- 小蚂蚁学习数据结构(26)——题目——输出二叉树上值大于x的算法
- guava cache 存储的数据结构3 之 ValueReference -- 4
- Linux下tcpdump和Wireshark抓包的数据结构
- 数据结构基础