Date:2012-06-21
分享连接 郝冠军老师:http://www.cnblogs.com/haogj/archive/2010/08/15/1799930.html、刘爱贵老师:http://blog.csdn.net/liuben/article/details/4409505
之前学严蔚敏老师的算法时候,这个东东一知半解的,不想几年后再次遇到该算法,觉得并不是那么难。废话不多说,快点总结一下。
该算法,我们主要关注的重点应该放在模式串(pattern)上,如何消除不必要的回溯,引用刘老师的博客,引入了有限自动机的概念帮我们去理解这个算法的思想。针对pattern上的每一个位置的字符,我们去计算该字符和之前存在的字符的匹配的最大长度,当和主串不匹配的时候,此值会告诉我们下次回溯从哪个位置开始,会更加合适。