KMP字符串匹配算法

摘要: 这两天仔细研究了一下kmp匹配算法,一开始觉得有点绕,后来一步步把序列写到纸上比较,终于算是搞懂了这里面的逻辑,写出来和大家分享一下。一、kmp算法描述kmp算法旨在高效地从字符串S中找到子串T的位置。对于这样一个问题,最容易想到的做法便是:遍历S,对于S中的每一个字符,遍历T,并逐个比较S和T中的字符,直到找到完全匹配的位置。这种做法完全没有利用前一次错误匹配中的信息。而kmp算法通过分析子串T的结构,使得在匹配错误之后,不用在S中回溯,也不用再次从T的第一个字符开始比较,从而实现了算法效率的提升。kmp算法使用一个与T等长度的next数组来表征T的结构信息。对于字符串T:字符pj的next 阅读全文
posted @ 2013-11-23 13:31 hunter7z 阅读(237) 评论(0) 推荐(0)