假设我有一组数据(未排序)要存储以便快速查找。在加载数据之前我不知道大小是多少,我应该一次加载所有数据,这样我就可以立即开始执行查找。
此外,在程序执行期间的任何时候,更多数据可能会呈现给我,以存储在我选择的数据结构中。
我应该使用哈希表还是排序数组来存储这些数据?显然,静态哈希表需要在运行时根据提供的数据大小制作 - 这是否足以成为一个缺点,我应该简单地对给我的数据进行排序,即使它是 O(NlogN) 而不是 O(否)?或者我应该考虑一些动态散列的方法?
澄清:我需要加载任意大小的数据,然后对数据执行搜索和插入,没有明确的顺序或我必须做的搜索/插入量的想法。
我知道这很笼统......但是如果我在加载数据后必须做更多的插入而不是搜索呢?搜索比插入多怎么办?