(非压缩)Trie的使用

时间:2014-09-16 17:45:52

标签: algorithm data-structures language-agnostic trie patricia-trie

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

此时,我对尝试和基数尝试有了充分的了解,并且对他们的用例有了很好的理解。

然而,有一个问题突然出现在我身上:使用普通的trie而不是压缩的trie(例如基数trie)是否有任何优势?

常规trie易于实现:每个节点存储一个字符。 Patricia Trie实施起来有点困难:它被压缩"从某种意义上说,每个节点都包含一个完整的字符串,并且使用按位匹配完成前缀比较。

由于Patricia Trie的空间效率更高,并且不会牺牲查找速度,是否有使用常规(非压缩)Trie的用例,其中每个节点都包含一个字母?

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

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

2 个答案:

答案 0 :(得分:1)

最有可能在压缩trie中插入太贵。

答案 1 :(得分:0)

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