一组单词的最佳数据结构是什么?

Abe*_*ler 2 .net c# collections performance

我有大约170,000个单词的集合,我对它们执行了许多操作.最常见的是:StartsWith,EndsWithContains.我也做了很多长度检查.

我最初将这些信息存储在a中List<string>,然后切换到a,HashSet<string>因为我认为这种类型的数据会更快.

基于我所描述的,HashSet是这个数据的最佳集合类型?

Bre*_*den 5

一个线索是用于存储字符串和执行你所需要的文本搜索操作的很好的数据结构.它是通常用于索引字符串值的数据结构,以便在Lucene等搜索引擎中使用

通常,当提到时,trie被描述为前缀树,其允许非常有效的"开始于"搜索.数据结构的后缀树变体在"搜索结束时"非常有效.

可以想象,通过在填充trie时以及在搜索trie时简单地反转字符串,可以将相同的trie实现用于前缀和后缀树.