具有内存约束的系统的Hashtable

时间:2015-05-28 18:43:53

标签: performance algorithm memory-management data-structures hashtable

我已经读过哈希表的变体,但我不清楚哪一个更适合内存不足的系统(我们有内存约束限制)。
线性/二次探测适用于稀疏表格 我认为Double hashing在这方面与Quadratic相同 外部链接没有聚类问题 我检查的大多数教科书似乎都假设一个额外的空间总是可用的,但实际上在我看到的大多数示例实现中,因为哈希表从不减半,所以占用的空间比真正需要的多得多。
那么当我们想要最好地利用内存时,哈希表的哪种变体最有效?

更新
所以我的问题不仅仅是关于桶的大小。我的理解是,桶的大小负载下的性能都很重要。因为如果存储桶的大小很小但是表在50%负载下会降低,那么这意味着我们需要经常调整到更大的表。

1 个答案:

答案 0 :(得分:2)

请参阅this variantCukoo Hashing

这将需要你更多的哈希函数,但是,它是有道理的 - 你需要为节省内存付出一些代价。