必ず受かる情報処理技術者試験

当サイトは、情報処理技術者試験に合格するためのWebサイトです。
ITパスポート試験,基本情報技術者,応用情報技術者,高度試験の過去問題と解答及び詳細な解説を掲載しています。
  1. トップページ
  2. 高度共通 午前1
  3. 平成25年度秋季問題一覧
  4. 平成25年度秋季問題2-解答・解説-分析

平成25年度秋季問題

問題2

自然数をキーとするデータを、ハッシュ表を用いて管理する。
キー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 の倍数

自然数をキーとするデータを、ハッシュ表を用いて管理する。
キー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 の倍数

解答:イ

<解説>

ハッシュ関数とは、与えられたデータから、固定長のデータ(ハッシュ値)を生成する関数である。本問題のハッシュ値はx mod n すなわちxをnで割ったあまりである。

ハッシュ値は、n=3の場合は次の表のようになる。

表より、二つのキー値のハッシュ値が等しくなる条件はキー値の差(a-b)がnの倍数であるときということが分かる。