【发布时间】:2014-05-21 23:22:44
【问题描述】:
我已经研究过这个相关的问题Rehashing process in hashmap or hashtable。但是我需要知道重新散列过程是如何执行的。例如,如果负载因子是 0.75;
1-这是否意味着我们忘记了现有的哈希表,并且对于每个现有条目,我们将它们一个一个地获取并使用新的哈希函数将它们重新输入到一组新的桶中?
2- 如果是这样,那么重新散列的性能是什么,比如当有 n 个条目退出时。是 O(n) 摊销吗?
【问题讨论】:
-
基本上使用旧哈希表中的条目构建了一个新哈希表。有一些方法可以使工作分布在多个访问中,或者可以一次完成。对于您的标准哈希方案,实际的重新哈希基本上是 O(n)。