摘要:
后缀树(Suffix Tree)是一棵 Compressed Trie,其存储的关键词为 Text 所有的后缀。后缀树的性质:存储所有 n(n-1)/2 个后缀需要 O(n) 的空间,n 为的文本(Text)的长度;构建后缀树需要 O(dn) 的时间,d 为字符集的长度(alphabet);对模式(Pattern)的查询需要 O(dm) 时间,m 为 Pattern 的长度。在 1995 年,Esko Ukkonen 发表了论文《On-line construction of suffix trees》,描述了在线性时间内构建后缀树的方法。本文中尝试描述 Ukkonen 算法的基本实现原理,从简单的字符串开始描述,然后扩展到更复杂的情形。 阅读全文