2整数X 、Y をキーとするデータを、ハッシュ関数h(X , Y )を使って、要素数256の1次元配列に格納する。 X は値1〜256を一様にとり、Y は値1〜16を一様にとる。
ハッシュ関数として最も不適切なものはどれか。
ここで、N =256であり、A mod B はA をB で割った剰余を表す。
ア
X mod N
イ
Y mod N
ウ
(X +Y )mod N
エ
(X ×Y )mod N
答え イ
【解説】
ア
X mod N の結果は、X =1〜256、N =256から、0〜255になる。
イ
Y mod N の結果は、Y =1〜16、N =256から、1〜16になる。
ウ
(X +Y )mod N の結果は、X =1〜256、Y =1〜16から、X +Y =2〜272になり、N =256から、0〜255になる。
エ
(X ×Y )mod N の結果は、X =1〜256、Y =1〜16から、X ×Y =1〜4096になり、N =256から、0〜255になる。