2016-09-18 17 views
0

キーの特定のサブセットが同じ値(衝突)にマップされるようにハッシュを設計する方法はありますか?例えばハッシング - 目的の衝突

、Iは全て(POPCOUNT> = 4)いくつかの64ビットのint Aのサブセットは、Xにマッピングされ、そしてYにBマッピングに同じにしたい場合など、私は救うことができる考え出し

私は衝突のためにちょうど十分なキーを持っていた場合、いくつかのメモリ。

答えて

0

このように、剰余演算子を使用し、HASHKEYSのセットのサイズによってあなたの64ビット値を分割:

hashKey = _64BitValue mod popcount 

私はあなたが作業しているどのような言語を知っているが、多くの現代語はありませんmodulus演算子には%を使用し、 "mod"を使用するものもあります。例えば

、Javaでそれは次のようになります。これは、均等にあなたの鍵全体でランダムな64ビット値を配布します

long hashKey = _64BitValue % popcount;