自然数をキーとするデータをハッシュ表を用いて管理する。 キーx のハッシュ値を求めるハッシュ関数を h(x) = x mod n とした場合、キー a と b のハッシュ値が常に衝突する条件はどれか。ここで n はハッシュ表の大きさであり、x mod n は x を n で割った余りを示す。
@ a + b が n の倍数
A a − b が n の倍数
B a × b が n の倍数
C n が a + b の倍数
D n が a − b の倍数
A
ハッシュ関数は、ある入力値から唯一に決まる固定値を生成する関数のことである。
          固定値から入力値を求めることはできない。
          
例えば
           x = 100, n = 13 のとき、ハッシュ値は 9
           x = 101, n = 13 のとき、ハッシュ値は 10
           x = 113, n = 13 のとき、ハッシュ値は 9
          となり、101, 113のハッシュ値は衝突する。
          
他にも n=13 のとき、ハッシュ値が 9 になるのは、
9, 22, 35, 48, 61, 74, 87, 100, 113, 126, ・・・
          共通するのは、差が同じで 13 ということ。
          つまり、Aの場合になる。
| T−11 | 目次 | T−13 |