1

ダブル ハッシュの例をたくさん見つけましたが、すべての例で、2 回目のハッシュを行うときに %5 を使用する必要があることがわかりました。

私の質問は、なぜ 5 なのですか? 常に 5 を使用するという契約ですか、それともどのように機能しますか?

一例: https://www.cs.washington.edu/education/courses/326/00wi/handouts/lecture16/sld025.htm

4

3 に答える 3

2

No. The second hashing function can be whatever you want it to be. Ideally, it should have an equal chance of reaching every cell of your hash array.

My guess is you didn't look up any examples for double hashing from a different source. The source you used decided to use % 5 multiple times for simplicity.

于 2012-12-20T13:53:15.437 に答える
1

常に 5 を使用するとは限らず、常に % も使用するとは限りません。

あなたの例では。%7 と %5 はハッシュ関数です。しかし、実際には、それらはまったく異なる機能である可能性があります。

この例では %5 を使用しています。唯一の実際の要件は、2 つの機能が独立していることです。

http://en.wikipedia.org/wiki/Double_hashingを参照してください。

于 2012-12-20T13:58:44.027 に答える