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

問題7

ポケットスタディ 基本情報午後・要点整理―即効!7つの知識 (情報処理技術者試験)

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

前の問題 次の問題

Copyrithg naruha