【发布时间】:2015-10-24 05:32:10
【问题描述】:
我需要一个高效的数据结构来进行搜索。目前我正在使用 System.Collections.Generic 中的一个简单列表,直到找到一个好的解决方案。
用户可以在运行时通过单击列表中的字符串来添加/删除字符串。但主要操作是搜索,因为每次用户想要查看列表时,如果用户之前已经点击过它,我需要检查每个条目。该列表可能包含大约 100-1000 个条目,用户可以从中选择大约 100 个。带有所选字符串的列表也将作为字符串数组保存到磁盘并需要再次加载。因此,如果数组以正确的顺序保存,数据结构应该可以快速从字符串数组重建。
我考虑过使用 AVL 树。这是一个很好的解决方案吗?还是可以进行散列(我不知道可以在编译时选择的字符串)?
【问题讨论】:
-
我认为如果您的主要关注点是搜索,那么哈希映射/表会更有益。特别是如果您要存储字符串并且只需要说 100 个左右的条目。
标签: data-structures hash tree avl-tree