【发布时间】:2012-05-31 21:39:44
【问题描述】:
什么是美国电话号码的好散列函数?哪个基本上是10位数字?在我看来,一个简单的:
(p1 * (areaCode + p2 * exchangeCode) + extensionCode) % r;
其中p1 和p2 是一些素数,'r' 是缩小范围,应该很快并且具有良好的散列属性。
【问题讨论】:
-
你有什么要求?为什么不直接使用标准的字符串散列函数?
标签: hash
什么是美国电话号码的好散列函数?哪个基本上是10位数字?在我看来,一个简单的:
(p1 * (areaCode + p2 * exchangeCode) + extensionCode) % r;
其中p1 和p2 是一些素数,'r' 是缩小范围,应该很快并且具有良好的散列属性。
【问题讨论】:
标签: hash
为什么不只尝试最后一位数字和 10 个“槽”哈希表呢?恕我直言,这应该给出一个相当均匀的分布。
【讨论】: