您的位置:首页 > 理论基础 > 数据结构算法

数据结构——模式匹配(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
                               


                        

        
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: