一連のキーとそのハッシュ値が与えられた場合、ダブル ハッシュ関数を決定するにはどうすればよいですか?
アップデート
おもうh(x) = k % 13 + 1
一連のキーとそのハッシュ値が与えられた場合、ダブル ハッシュ関数を決定するにはどうすればよいですか?
アップデート
おもうh(x) = k % 13 + 1
h(x) = (x+1) % 13
あなたが持っていたものですが、1を追加した後にモジュロが必要なので、結果の値は[1,13]ではなく[0,12]の範囲になります...しかし、あなたはそれを正しくしました。
r(x) について思いついたのは次のとおりです。
r(x) = (x+6) % 19
これは、なぜこれになるのか本当に意味がありませんが、私がこれにたどり着いた方法は、与えられた値のためにモジュロ除数がシフトを6増加させたに違いないということでした(38と101はモジュロ13に対して1の差がありますそして、それらは 6 スペース離れていました)。モジュロ 19 が本当にこの問題を解決しているように感じるので、これは合っているように見えますが、より良い答えを探しますが、それが私が思いついたものであり、推測とチェックよりも方法があったように感じます.
ご不明な点がございましたら、お気軽にコメントをお寄せください。