- 我需要能够通过无符号整数键进行查找。
- 要存储的项目是用户定义的结构体。
- 这些索引通常是稀疏的,通常极其稀疏。普通数组不行。
- 每个索引的频率分布是非均匀的,小索引比大索引更常见。
- N通常很小,可能不超过5或10,但我不想过于依赖它,因为它偶尔可能会更大。
- 常数项非常重要。当N很小时,我需要非常快的查找速度。我已经尝试了通用哈希表,并且实证上,即使N=1,意味着没有冲突,它们也太慢了,可能是由于涉及的间接寻址量。但是,我对利用其他约束条件的专门哈希表的建议持开放态度。
- 插入时间并不重要,只要检索时间快就可以了。即使插入时间为O(N),也足够好。
- 空间效率并不是非常重要,尽管它足够重要以不仅仅使用常规数组。