个人使用:
解决哈希冲突的方法有很多,所以,希望大家可以根据自己心中所想来解决,此方法非唯一标准.
规则:
- 列表中的每个数字都是质数
- 每个数字都略小于前一个数字的两倍
- 每个数字都尽可能远离最接近的2的2次方
所有符合上面三个标准的数字,都可以在各自的区间极少的减轻哈希冲突.
可以按照这个标准,来通过电脑计算得出.
用以下列表给出的质数,可以让你的哈希函数计算得出的哈希值,在下列区间内,最优的解决哈希冲突(HashCollision)
下限(DEC) | 上限(DEC) | 区间相对偏差(%) | 质数(DEC) |
---|---|---|---|
32 (2^5) | 64 (2^6) | 10 | 53 |
64 (2^6) | 128 (2^7) | 1 | 97 |
128 (2^7) | 256 (2^8) | 0 | 193 |
256 (2^8) | 512 (2^9) | 1 | 389 |
512 (2^9) | 1,024 (2^10) | 0 | 769 |
1,024 (2^10) | 2,048 (2^11) | 0 | 1,543 |
2,048 (2^11) | 4,096 (2^12) | 0 | 3,079 |
4,096 (2^12) | 8,192 (2^13) | 0 | 6,151 |
8,192 (2^13) | 16,384 (2^14) | 0 | 12,289 |
16,384 (2^14) | 32,768 (2^15) | 0 | 24,593 |
32,768 (2^15) | 65,536 (2^16) | 0 | 49,157 |
65,536 (2^16) | 131,072 (2^17) | 0 | 98,317 |
131,072 (2^17) | 262,144 (2^18) | 0 | 196,613 |
262,144 (2^18) | 524,288 (2^19) | 0 | 393,241 |
524,288 (2^19) | 1,0485,76 (2^20) | 0 | 786,433 |
1,048,576 (2^20) | 2,097,152 (2^21) | 0 | 1,572,869 |
2,097,152 (2^21) | 4,194,304 (2^22) | 0 | 3,145,739 |
4,194,304 (2^22) | 8,388,608 (2^23) | 0 | 6,291,469 |
8,388,608 (2^23) | 16,777,216 (2^24) | 0 | 12,582,917 |
16,777,216 (2^24) | 33,554,432 (2^25) | 0 | 25,165,843 |
33,554,432 (2^25) | 67,108,864 (2^26) | 0 | 50,331,653 |
67,108,864 (2^26) | 134,217,728 (2^27) | 0 | 100,663,319 |
134,217,728 (2^27) | 268,435,456 (2^28) | 0 | 201,326,611 |
268,435,456 (2^28) | 536,870,912 (2^29) | 0 | 402,653,189 |
536,870,912 (2^29) | 1,073,741,824 (2^30) | 0 | 805,306,457 |
1,073,741,824 (2^30) | 2,147,483,648 (2^31) | 0 | 1,610,612,741 |
区间相对偏差是约百分比,不是绝对百分比
不保证数值最优