当一个面试官问我哈希表的缺点是什么。他向我暗示,哈希表从初始化开始就占用了大量空间。这意味着,我们需要为哈希表(存储桶)预分配内存。即使我们实际上并不需要那么多的内存,也没有那么多的条目。

这合理吗?

因为我检查了维基百科,本文没有讨论这个缺点。

谢谢!

最佳答案

这取决于实现方式。一种实现哈希表的方法是使初始表不那么大,并且如果负载因子(已用元素与可用插槽的比率)超过阈值,则增加表大小(有几种方法可以做到这一点,所有内容均在wikipedia article you discussed中进行了详细说明)。

在某些情况下(大的初始表大小,插入的元素很少),您提到的情况当然是可能的,但很可能是由于数据结构选择不当所致。

09-30 15:28
查看更多