自然数をキーとするデータを、ハッシュ表を用いて管理する。
キーx のハッシュ関数h (x )を
h (x ) = x mod n
とすると、キーa とb が衝突する条件はどれか。
ここで、n はハッシュ表の大きさであり、x mod n はx をn で割った余りを表す。
ア | a + b がn の倍数 |
イ | a - b がn の倍数 |
ウ | n がa + b の倍数 |
エ | n がa - b の倍数 |
ハッシュ関数とは、与えられたデータから、固定長のデータ(ハッシュ値)を生成する関数である。本問題のハッシュ値はx mod n すなわちxをnで割ったあまりである。
ハッシュ値は、n=3の場合は次の表のようになる。
表より、二つのキー値のハッシュ値が等しくなる条件はキー値の差(a-b)がnの倍数であるときということが分かる。