后缀树(英語:Suffix tree)是一种数据结构,能快速解决很多关于字符串的问题。后缀樹的概念最早由Weiner於1973年提出,既而由McCreight在1976年和Ukkonen在1992年和1995年加以改進完善。
BANANA
$
A$
NA$
ANA$
NANA$
ANANA$
BANANA$
一个string S的后缀树是一个边(edge)被标记为字符串的树。因此每一个S的后缀都唯一对应一条从根节点到叶节点的路径。这样就形成了一个S的后缀的基数树(radix tree)。后缀树是前缀树(trie)里的一个特殊类型。