如果我们使用链接,哈希表大小应该有多大?

时间:2014-03-13 13:58:41

标签: data-structures hashtable

如果我知道需要存储的元素数量,如果我不知道该怎么办?

1 个答案:

答案 0 :(得分:1)

这取决于。哈希表的容量没有硬性规定。

作为参考,Java HashMap的“加载因子”为0.75。这意味着一旦元素数量达到地图容量的75%,地图将在内部增长/调整大小(我认为是容量的2倍)。 Java HashMap也使用链接。

如果您使用open addressing而不是链接,则可能希望加载因子更接近0.5,因为存储桶可能会更快填充。

如果你知道元素的数量,你可以最初适当地分配哈希表,而不用担心调整它的大小。如果您不知道,则必须在填充表格时处理调整大小。