情報処理安全確保支援士試験 令和4年度秋期 午前Ⅰ 問3「自然数をキーとするデータを,ハッシュ表を用いて管理する。キー x のハッシュ関数…」の正解と解説です。情報処理安全確保支援士試験の「ハッシュ法」分野の過去問で、各選択肢の正誤も解説付きで確認できます。
イ. a-b が n の倍数
ハッシュ関数h(x)=x mod nは、xをnで割った余りを格納位置にする。キーaとbが衝突するのはa mod n=b mod n、すなわち両者をnで割った余りが等しいとき。これはa−bがnで割り切れる、つまりa−bがnの倍数であることと同値で、イが正解。実装上は衝突を完全に避けられないため、チェイン法やオープンアドレス法など衝突解決法とnの選び方(素数など)が性能を左右する。