アルゴリズムとプログラミング

基本情報技術者試験 科目A免除 修了試験 20220123 実施分 問8

アルファベット 3 文字で構成されるキーがある。次の式によってハッシュ値 h を決めるとき,キー “SEP” と衝突するのはどれか。ここで,a mod b は,a を b で割った余りを表す。 h =(キーの各アルファベットの順位の総和)mod 27
アルファベットと順位の対応表: A=1, B=2, C=3, D=4, E=5, F=6, G=7, H=8, I=9, J=10, K=11, L=12, M=13, N=14, O=15, P=16, Q=17, R=18, S=19, T=20, U=21, V=22, W=23, X=24, Y=25, Z=26
  • ア APR
  • イ FEB
  • ウ JAN
  • エ NOV

出典:基本情報技術者試験 科目A免除 修了試験 20220123 実施分 問8

答えと解説を見る

正解:イ

覚える知識

ハッシュ関数によるハッシュ値計算

異なるキーが同じハッシュ値になることを衝突(シノニム)といい、各キーのハッシュ値を計算して一致するものを探す。

この問題で必要なこと

SEP=19+5+16=40、40 mod 27=13。FEB=6+5+2=13で一致する。

ひっかけ

各文字の順位の足し間違いや、mod 27の剰余の取り違えで他の語が一致したように見える。

この知識の出題:本試験系 5 回・免除試験 11 回(公開問題での観測値)

この知識をアプリで解いて覚える レッスン「ハッシュ法と衝突の扱い」で学ぶ

同じ知識の過去問