Hash 美国电话号码的哈希功能好吗?

Hash 美国电话号码的哈希功能好吗?,hash,Hash,对于美国电话号码,什么样的散列函数比较好?哪一个基本上是10位数?在我看来,一个简单化的: (p1 * (areaCode + p2 * exchangeCode) + extensionCode) % r; 其中,p1和p2是一些素数,“r”是缩小范围,应该是快速的,并且具有良好的散列特性 为什么不试试最后一个数字和10个“插槽”的哈希表呢?我想这应该是一个相当均匀的分布。你们有什么要求?为什么不使用标准的字符串哈希函数呢?

对于美国电话号码,什么样的散列函数比较好?哪一个基本上是10位数?在我看来,一个简单化的:

(p1 * (areaCode + p2 * exchangeCode) + extensionCode) % r;

其中,
p1
p2
是一些素数,“r”是缩小范围,应该是快速的,并且具有良好的散列特性

为什么不试试最后一个数字和10个“插槽”的哈希表呢?我想这应该是一个相当均匀的分布。

你们有什么要求?为什么不使用标准的字符串哈希函数呢?