第09讲串2解答.ppt

* * 授课者:章 英 E-mail:walking7876@ Essential of Lecture Nine : 一、模式匹配的改进 二、串的应用 难点 朴素算法的缺点在于每次不能匹配以后主串指针和模式串指针都必须回溯,造成了这种算法的时间复杂度为O(m*n)。 而KMP算法使得主串指针不必回溯而只需回溯模式串指针,并且模式串指针也不一定需要回溯到模式串的第一个字符,KMP算法的时间复杂度为O(m+n)。 例如,当: S=“0000000000000000000000000000001” T=“000001” 时,KMP算法比简单算法效率要高的多。 一、模式匹配的改进 一种改进算法是由D.E. Knuth, J.H.Morris, and V.R.Pratt. 基本思想: ?????? a b c d a b a ? ?????? \0 s a b c \0 p d a b c a c b a b c p d a b ?????? 设 p = “p1p2 ?????? pm 是模式,函数next( ) 的定义如下: 1 2 3 11 j 4 5 6 7 8 9 10 a b c \0 p a b c a c a b 0 1 1 \ next 1 2 3 4 5 1 2 i j 其它情况 匹配失败! 模式匹配方法3 一、串的模式匹配 假设主串为: s

文档评论(0)

1亿VIP精品文档

相关文档