数据结构——模式匹配(KMP算法)
2015-05-03 11:59
253 查看
相关概念
1、模式匹配:假设给定两个串,主串s和子串t,从主串s中找到子串t的过程称为模 式匹配。如果在主串s找到子串t则匹配成功,返回t在s中首次出现的 存储位置;否则匹配失败,返回-1.(数组实现的串)
2、前缀后缀:前缀(必须有首元素,无尾元素)、后缀(必须有尾元素,无首元 素)。举例:字符串abcabc,前缀abcab,abca,abc,ab,a;后缀 bcabc,cabc,abc,bc,c。
3、部分匹配值:最长的,相同的"前缀"和"后缀"的长度。
KMP算法:
1、实质:匹配不成功时,不采用回溯策略,而是利用已经匹配的部分,使子串向右 滑动。
2、计算:移动位数 = 已匹配的字符数 - 对应的部分匹配值
6-2=4
1、模式匹配:假设给定两个串,主串s和子串t,从主串s中找到子串t的过程称为模 式匹配。如果在主串s找到子串t则匹配成功,返回t在s中首次出现的 存储位置;否则匹配失败,返回-1.(数组实现的串)
2、前缀后缀:前缀(必须有首元素,无尾元素)、后缀(必须有尾元素,无首元 素)。举例:字符串abcabc,前缀abcab,abca,abc,ab,a;后缀 bcabc,cabc,abc,bc,c。
3、部分匹配值:最长的,相同的"前缀"和"后缀"的长度。
KMP算法:
1、实质:匹配不成功时,不采用回溯策略,而是利用已经匹配的部分,使子串向右 滑动。
2、计算:移动位数 = 已匹配的字符数 - 对应的部分匹配值
6-2=4
相关文章推荐
- 数据结构(十三)串 KMP算法模式匹配
- 数据结构(11)--串的模式匹配算法之BF、KMP算法
- 数据结构之字符串匹配算法(BF算法和KMP算法)
- 数据结构之KMP算法---poj2406---Power Strings
- KMP算法 --数据结构实验之串一:KMP简单应用
- 【数据结构与算法】字符串匹配之BF&KMP算法
- 数据结构——KMP算法C++版
- 数据结构中的赫夫曼树编码,KMP算法,图的深度优先遍历和广度优先遍历
- 数据结构与算法_KMP算法
- 数据结构——KMP算法
- 字符串-KMP算法实现(数据结构基础 第4周)
- 看数据结构写代码(18) KMP算法
- JavaScript中数据结构与算法(五):经典KMP算法
- 数据结构上机——KMP算法
- 数据结构——关于KMP算法的效率分析
- 数据结构与算法:python语言描述学习笔记Part4_kmp算法及改进
- C++ 数据结构之kmp算法中的求Next()函数的算法
- 数据结构——关于KMP算法中next函数的详细解析
- 数据结构之 字符串---字符串匹配(kmp算法)
- 【kmp算法】数据结构实验之串三:KMP应用