在阅读MSDN for Object.GetHashCode方法的文档时,我遇到了哈希函数应该在哈希表中提供随机或有用分布的短语.对于散列函数或散列表,这种分布意味着什么?
Eri*_*ert 13
散列函数产生32位整数,以"平衡"散列表.假设您的表有一百个"桶",并且您根据哈希函数的底部两位小数将表中的项放入存储桶中.
现在假设散列函数总是产生偶数为100的倍数.每个项目都将进入同一个桶,哈希表将是不平衡的.这将是一个糟糕的哈希函数.
无论你有多少桶,无论你如何从哈希中提取桶号,一个好的哈希算法都能产生大致均匀的分布.
| 归档时间: |
|
| 查看次数: |
946 次 |
| 最近记录: |