平成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