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になる。 |
【キーワード】
・ハッシュ関数