アルゴリズムとプログラミング
基本情報技術者試験 科目A免除 修了試験 201007 実施分 問6
アルファベット 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
答えを選ぶ
出典:基本情報技術者試験 科目A免除 修了試験 201007 実施分 問6(問題文は IPA の公開問題。解説は当サイト作成)
答えと解説を見る
正解:イ
覚える知識
ハッシュ関数によるハッシュ値計算
ハッシュ関数は、キーから算術的に格納位置(ハッシュ値)を求め、異なるキーが同じ値になることを衝突という。
この問題で必要なこと
SEPは19+5+16=40、40 mod 27=13。同じ13になるのはFEB(6+5+2=13)。
ひっかけ
他の選択肢の総和(APR=35, JAN=25, NOV=44)を誤計算させる。
この知識の出題:本試験系 5 回・免除試験 11 回(公開問題での観測値)