关于字符串的好文章

上交的july的文章: http://blog.csdn.net/v_july_v/article/details/6897097

他从 前缀树(Trie树),到后缀树(suffix树),再谈到自动机(automation machine)和KMP。

都是解决字符串的经典方法。有兴趣的同学可以仔细研读。


=========== 后缀树 与 KMP等算法 ====================

后缀树(SuffixTree)的文本匹配算法后缀树(SuffixTree)是一种特殊的Trie,它的用途非常广泛,其中一个主要的应用是作文本匹配,也像KMP等算法一样,它也是空间换时间的一个典范。利用SuffixTree做文本匹配与其他的模式匹配算法比如KMP和Boyer-Moore算法的主要区别是,后缀树文本匹配算法是对文本T做预处理,而KMP算法是对模式串P做预处理。因此后缀树常用于文本静态,而模式串动态的场合;而KMP等算法常用于文本动态,模式串静态的场合。设T的长度为n,P的长度为m,一般情况下m<n。在预处理中,用SuffixTree匹配的复杂度为O(n),而KMP和Boyer-Moore的复杂度为O(m)。可是预处理结束后,KMP等算法的复杂度为O(n),后缀树匹配算法的复杂度只有O(m),这是令人惊叹的效率!


你可能感兴趣的:(字符串)