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

基本情報技術者試験 科目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 回(公開問題での観測値)

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

同じ知識の過去問