使用(非压缩)Trie



我正在研究各种"前缀查找"数据结构,如Tries和Radix Tries(Patricia Tries)。

在这一点上,我对try和基数try都有了扎实的理解,并且对它们的用例也有了很好的理解。

然而,我突然想到一个问题:与压缩的trie(如基数trie)相比,使用正则trie有什么优势吗?

常规trie实现起来很简单:它为每个节点存储一个字符。Patricia Trie的实现有点困难:它是"压缩"的,因为每个节点都包含一个完整的字符串,并且前缀比较是使用逐位匹配进行的。

由于Patricia Trie更节省空间,并且不会牺牲查找速度,因此有没有使用每个节点都包含一个字母的常规(非压缩)Trie的用例?

我能想到的唯一用例是,如果您的"字符串"不是常规字符串(如更复杂对象的数组),因此无法使用逐位比较进行比较。

常规(非压缩)Trie还有其他用例吗?

最有可能的情况是在压缩trie中插入的开销太大。

我在猜测它们更容易理解,并使算法的分析/设计更容易。因此,在引入压缩树之前,它们非常适合用于教育目的。

相关内容

  • 没有找到相关文章

最新更新