Trie是否只适合用于字符串的完整查询和前缀查询
来源:10-4 Trie字典树的前缀查询
五羊司机
2019-07-11
老师您好,关于Trie有个问题挺好奇想请教一下,Trie似乎只适合处理字符串的完整查询或者前缀查询(或者似乎也可以实现一个后缀查询的版本?),但如果输入的是字符串的中间部分,似乎就超出了Trie的能力?
比如通讯录中存储的大量人名中有一个是"Jason",我想通过输入"aso"就找到"Jason"这个字符串,这类查询在目前通常是用什么数据结构来实现的呢?
写回答
1回答
-
是的,超过了Trie的能力,所以,Trie又叫前缀树。
你说的应用是典型的模式匹配问题,应该使用诸如KMP一类的模式匹配算法。
另外,后缀树也可以解决匹配问题,有意思的是,后缀树的建立用到了前缀树,有兴趣可以在网上搜索一下“后缀树”:)
继续加油!:)
012019-07-11
相似问题
trie
回答 1
关于其他数据类型使用并查集的疑问
回答 1