我正在为我的数据结构寻找一个好名字,它保存所有"开始 - 用"列表的子列表,例如:
Given list: [A, B, C]
My data structure: [ [A], [A, B], [A, B, C] ]
请注意,我的数据结构仅包含有序组合(例如,不是[C, B, A]
),并且不包括所有组合(例如,不是[B, C]
)。只有所有前缀(在某种程度上)。
这种数据结构是否有正确的数学/编程术语?
答案 0 :(得分:0)
使用 TRIE 。您可以在Internet上可用的资源上阅读有关此数据结构的更多信息。
如果我们想要两个操作,查找和前缀搜索,Trie
是合适的。它主要用于字典和拼写检查。使用Trie
,我们可以在O(n)
时间内支持插入,搜索,删除等所有操作,其中n是要处理的字的长度。
Trie的另一个优点是,我们可以按字母顺序打印所有单词。
使用Trie的缺点是它使用更多内存。要解决这个问题,您可以阅读Ternary Search Tree