問題
キーが小文字のアルファベット 1 文字(a、b、…、z のいずれか)であるデータを、大きさが 10 のハッシュ表に格納する。ハッシュ関数として、アルファベットの ASCII コードを 10 進表記法で表したときの 1 の位の数を用いることにする。衝突が起こるキーの組合せはどれか。ASCII コードでは、昇順に連続した 2 進数が、アルファベット順にコードとして割り当てられている。
選択肢
- 1a と i
- 2b と r
- 3c と l
- 4d と x
正解
4. d と x
詳しい解説を見る解説を閉じる
解説
小文字 a の ASCII コードは 10 進で 97 であり、以降 b=98、c=99、… とアルファベット順に 1 ずつ増える。ハッシュ値は ASCII コードの 1 の位なので、衝突するには 1 の位が一致すればよい。a=97(7)と i=105(5)は不一致。b=98(8)と r=114(4)は不一致。c=99(9)と l=108(8)は不一致。d=100(0)と x=120(0)は 1 の位がともに 0 で一致するため衝突する。よってエが正解。(出典: 令和6年度 基本情報技術者試験 科目A 問2)
一問一答
科目A 180問+科目B 60問