【发布时间】:2011-06-27 10:29:59
【问题描述】:
我对选择正确的哈希大小有点困惑。例如,如果我想散列 2^32 个值,可以使用 32 位的散列大小吗?会不会造成更多的碰撞?我在某处读到过平方根规则。这是否意味着理想情况下我应该选择 64 位散列大小?但这并不意味着存储哈希表所需的空间将用于存储 2^64 个值。 这是让我感到困惑的部分。根据定义,散列会减少密钥空间,但如果我将 2^32 值存储在臃肿的 2^64 值空间中......这听起来不对。我正在增加密钥空间。我想我误解了一些东西......任何澄清这一点的帮助将不胜感激。
谢谢!
【问题讨论】: