将元素插入具有恒定桶数的完整哈希表中

问题描述 投票:0回答:2

此刻我正在研究哈希表,并提出了有关使用固定大小的存储桶实现哈希表的问题。

假设我们有一个包含23个元素的哈希表(例如)。让我们使用最简单的哈希函数(hash_value = key%table_size),键为整数only。如果我们说一个存储桶最多只能有1个元素(没有单独的链接),是否意味着当所有存储桶都装满时,我们将不再能够在表中插入任何元素?还是我们必须用新元素实际替换具有相同哈希值的元素?

我确实了解到我施加了很多限制,并且实际的实现可能永远不会像那样,但是我想确保我了解该特定情况。

data-structures hash hashtable
2个回答
0
投票

实际的实现通常允许哈希表能够调整大小,但这通常需要很长时间并且是不希望的。考虑到固定大小的哈希表,它可能会返回错误代码或引发异常,以供用户处理是否该错误。

或者我们是否必须用新元素实际替换具有相同哈希值的元素?

在Java的HashMap中,如果您添加的键等于哈希表中已经存在的另一个键只有与该键关联的值将被新的键替换,但如果两个键哈希到相同的哈希,则永远不会] >


0
投票

是。您正在描述的“开放”哈希表的大小固定,因此可以填充。

© www.soinside.com 2019 - 2024. All rights reserved.