定义
前缀树,是将单词的每个字符作为树的节点。前缀树衍生自基数树,数字的基数是位,字符串的基数就是字符。所以前缀树相当于基为字符的基数树。另外,前缀树又成为Tire树。
作用
1.快速查找单词A是否在字符串B中。O(n*m)
2.快速查找单词A,B,C是否在字符串C中。O(n*m)
3.快速查找指定前缀下含有哪些单词。O(m)
优化
1.AC自动机。朴素的Trie树在进行模式匹配时,最坏时间复杂度为O(n*m),如果Trie树加上KMP的优化,就能达到O(n m)的复杂度了。
2.Trie图。在AC自动机的情况下,通过确定字符操作来实现DFA,比AC自动机更快,最坏时间复杂度为O(n m)。