平成23年度特別試験 問8 / 80

平成23年度 特別試験 応用情報技術者試験 午前 問8

キーが小文字のアルファベット1文字(a,b,…,zのいずれか)であるデータを,大きさが10のハッシュ表に格納する。ハッシュ関数として,アルファベットのASCIIコードを10進表記法で表したときの1の位の数を用いることにする。衝突が起こるキーの組合せはどれか。ASCIIコードでは,昇順に連続した2進数が,アルファベット順にコードとして割り当てられている。

キーボード:1〜4 で解答 → 次の問題 ← 前の問題

正解と解説を見る

正解:エ

アルファベットは連続したコードなので,2文字のコードの差は「アルファベット順で何文字離れているか」に等しくなります。1の位が同じ(衝突する)のは,差が10の倍数のときです。

(参考:ASCIIコードで a=97 です。)

  • ア: aとi
    誤り。iはaから8文字後ろなので差は8です(97と105)。1の位は7と5で異なります。

  • イ: bとr
    誤り。rはbから16文字後ろなので差は16です(98と114)。1の位は8と4で異なります。

  • ウ: cとl
    誤り。lはcから9文字後ろなので差は9です(99と108)。1の位は9と8で異なります。

  • エ: dとx
    正しい。xはdから20文字後ろなので差は20です(100と120)。1の位はどちらも0なので衝突します。


答え

エ: dとx

出典:平成23年度 特別試験 応用情報技術者試験 午前 問8

平成23年度特別試験の他の問題