平成19年 春期 ソフトウェア開発技術者 午前 問12

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になる。
上記から、結果の値の範囲の最も狭いイが不適切である。


キーワード
・ハッシュ関数

キーワードの解説

戻る 一覧へ 次へ