修了試験 2024-12-08実施分 基本情報技術者試験 問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
正答2
解説
正解は2です。 ハッシュ値の衝突とは、異なるキーから同じハッシュ値が求まることです。 まずキー“SEP”のハッシュ値を求め、同じ値になるキーを探します。 【計算】 SEPは、S=19、E=5、P=16なので、総和は19+5+16=40です。 40 mod 27=13なので、SEPのハッシュ値は13です。 APRは1+16+18=35で、35 mod 27=8です。 FEBは6+5+2=13で、13 mod 27=13です。 JANは10+1+14=25で、25 mod 27=25です。 NOVは14+15+22=51で、51 mod 27=24です。 【選択肢別解説】 1:× APRのハッシュ値は8です。 SEPの13とは異なるので衝突しません。 2:○ FEBのハッシュ値は13です。 SEPのハッシュ値13と一致するので、衝突します。 3:× JANのハッシュ値は25です。 SEPの13とは異なるので衝突しません。 4:× NOVのハッシュ値は24です。 SEPの13とは異なるので衝突しません。 【ポイント】 ハッシュ値の衝突(シノニム)は、キーそのものが違っても剰余が一致すれば起こります。 mod の計算では、総和から割る数の倍数を引いて余りを求めましょう。まとめて解く
修了試験 2024-12-08実施分を通しで解く(60問)→