過去問解きまくり研究所 ホーム

平成21年度 春期 午前 問6

アルゴリズム

キーaとbが衝突する条件

自然数をキーとするデータを,ハッシュ表を用いて管理する。キー x のハッシュ関数 h(x) を

h(x) = x mod n

とすると,キー a と b が衝突する条件はどれか。ここで,n はハッシュ表の大きさであり,x mod n は x を n で割った余りを表す。

答えと解説を見る

✓ これが正解イa−b が n の倍数

解説

割った余りが等しくなる条件を式で表したものです。

このハッシュ関数は、キーを n で割った余りを表番地とする形です。異なるキー a と b が衝突するのは、両者を n で割ったときの余りが等しくなる場合のことを言います。二つの数を同じ数で割った余りが等しくなる条件は、割り算の一般的な性質から導けます。a を n で割った商と余り、b を n で割った商と余り、をそれぞれ書き下して、両者の差を取ります。余りの側は等しいと仮定したので互いに打ち消し合い、差は n に整数を掛けた形にまとめられます。すなわち、a と b の差が n の倍数になっていることが、二つの余りが一致する必要十分の条件です。したがって、衝突の条件は差が n の倍数であること、として表せます。

ほかの選択肢はなぜ違うのか

この問題の用語

出典:平成21年度 春期 応用情報技術者試験 午前 問6

同じ用語が出る問題

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)