情報処理安全確保支援士試験 情報処理安全確保支援士試験 令和6年度秋期 午前Ⅰ3: 自然数をキーとするデータを,ハッシュ表を用いて管理する。キー x のハッシュ関数 h(x) を h(x) = x mod n とすると,任意のキー a と b

情報処理安全確保支援士試験 令和6年度秋期 午前Ⅰ
Q 33 / 30
自然数をキーとするデータを,を用いて管理する。キー x の h(x) を h(x) = x mod n とすると,任意のキー a と b が衝突する条件はどれか。ここで,n はハッシュ表の大きさであり,x mod n は x を n で割った余りを表す。
この問の正解率:0.00%(2件)

問題本文

自然数をキーとするデータを,ハッシュ表を用いて管理する。キー 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 の倍数

正解

. a-b が n の倍数

解説

ハッシュ法では h(x)=x mod n が同じ値になるキー同士が同じ格納位置を争い、これを衝突という。h(a)=h(b) すなわち a mod n = b mod n が成り立つのは、a と b を n で割った余りが等しい、つまり差 a-b が n で割り切れる(n の倍数)ときである。イが正しい。衝突条件の理解はハッシュ表サイズ n の選定やチェイン法・オープンアドレス法の設計判断に直結する。

選択肢ごとの解説

  • .和a+bがnの倍数でも余りが等しいとは限らず、衝突の条件にはならない。
  • .a-bがnの倍数なら両者の余りが一致し、同じハッシュ値となって衝突する正しい条件。
  • .nがa+bの倍数という関係は剰余の一致を意味せず、衝突条件として誤り。
  • .向きが逆で、衝突に必要なのはnがa-bを割るのではなくa-bがnで割り切れることである。

情報処理安全確保支援士試験 令和6年度秋期 午前Ⅰ過去問一覧へ戻る・問3