Hash 如果使用封闭哈希(开放寻址),是否不可能存储所有数据?

Hash 如果使用封闭哈希(开放寻址),是否不可能存储所有数据?,hash,Hash,我知道哈希表的大小应该是最接近数据集大小的最大素数。因此,如果使用封闭哈希(开放寻址),每个键位置将对应1个数据。因此不可能将所有数据存储在哈希表中?那么散列数据的意义是什么,当您将丢失散列表中的一些数据时 提前感谢您的澄清 另外,我知道这可以通过使用开放散列(单独链接)来解决,因为每个键位置可以有1个以上的数据。在这种情况下,您将在数据集大小之后使用下一个素数,以便哈希表可以容纳所有数据点 或者,选择一个小于最大可能数据集大小的素数的动机可能是在现实世界中,您提前知道在任何给定哈希表实例中只会

我知道哈希表的大小应该是最接近数据集大小的最大素数。因此,如果使用封闭哈希(开放寻址),每个键位置将对应1个数据。因此不可能将所有数据存储在哈希表中?那么散列数据的意义是什么,当您将丢失散列表中的一些数据时

提前感谢您的澄清


另外,我知道这可以通过使用开放散列(单独链接)来解决,因为每个键位置可以有1个以上的数据。

在这种情况下,您将在数据集大小之后使用下一个素数,以便哈希表可以容纳所有数据点


或者,选择一个小于最大可能数据集大小的素数的动机可能是在现实世界中,您提前知道在任何给定哈希表实例中只会使用稀疏的数据点集,当然不是这样,在发生冲突的情况下,您会使用下一个可用的存储桶。