令和6年度 秋期 プロジェクトマネージャ試験 データベーススペシャリスト試験 エンベデッドシステムスペシャリスト試験 システム監査技術者試験 情報処理安全確保支援士試験 午前 I 問題 【共通】 問3
テクノロジアルゴリズム
この問題は2024(R6)秋 高度試験共通 午前Iに出題されたものです。出題時点の法令・制度に基づく内容のため、現行の内容と一致しない場合があります。
本ページの問題文・選択肢は、原本の体裁を Web 表示用に正規化しています(改行・記号・数式・図表参照の調整)。設問の趣旨および正解に影響する変更は加えていません。
自然数をキーとするデータを,ハッシュ表を用いて管理する。キー のハッシュ関数 を
とすると,任意のキー と が衝突する条件はどれか。ここで, はハッシュ表の大きさであり, は を で割った余りを表す。
解答・解説を読む
正解: 選択肢イ
ハッシュ表において、衝突(コリジョン)とは、異なるキーが同じハッシュ値を持つことを指します。
今回のハッシュ関数は です。
キー と が衝突する条件は、 となること、すなわち、 となることです。
これは、 を で割った余りと、 を で割った余りが等しいことを意味します。
余りが等しい2つの数の差は、 で割り切れる、つまり の倍数 になります。
したがって、 が の倍数となる場合が、衝突の条件となります。
各選択肢の解説
- ア: が の倍数
などとなるケースであり、 とは限りません。例えば のとき、(5の倍数)ですが、 であり衝突しません。 - イ: が の倍数
正解です。差が の倍数であれば、余りが等しくなり衝突します。例えば のとき、(5の倍数)で、 となり衝突します。 - ウ: が の倍数
が の約数であることを意味します。余りが一致する条件とは関係ありません。例えば のとき、 は の約数( は の倍数)ですが、 であり衝突しません。 - エ: が の倍数
が の約数であることを意味します。例えば のとき、 は の約数( は の倍数)ですが、 であり衝突しません。