自然数をキーとするデータを、ハッシュ表を用いて管理する。
キー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 の倍数
答え イ
【解説】
衝突が発生するのはキーについてハッシュ関数で求めた値が一致することなので a mod n = b mod n
が成り立つときである。
この式を変形すると
(a mod n ) - (b mod n ) = 0
(a - b )mod n = 0
になる。
この式は、a - b がn で割り切れることなので、a - b がn の倍数(イ)である。