ソフトウェア開発技術者試験 2004年度 = 平成16年度 午前 問13

 自然数をキーとするデータを、ハッシュ表を用いて管理する。キーx のハッシュ値h (x )を
  h (x)= x mod n
とする。ここで、n はハッシュ表の大きさであり、x mod n はx をn で割った余りを表すとする。
 キーがa であるデータと、キーがb であるデータの間で、衝突が起きる条件はどれか。

ア a + b が n の倍数 イ a - b が n の倍数
ウ n が a + b の倍数 エ n が a - b の倍数

解答

イ

解説

 キーがa であるデータと、キーがb であるデータに対して、衝突が起きるということは、a mod n とb mod n が等しいということです。
  a mod n = b mod n
  (a - b ) mod n = 0
 したがって、選択肢イの〔a - b が n の倍数〕が正解です。


BohYoh.comトップページへ