平成27年度 秋期 応用情報技術者試験 午前 問5
テクノロジ/アルゴリズムキーが小文字のアルファベット1文字(a,b,…,zのいずれか)であるデータを,大きさが10のハッシュ表に格納する。ハッシュ関数として,アルファベットのASCIIコードを10進表記法で表したときの1の位の数を用いることにする。衝突が起こるキーの組合せはどれか。ASCIIコードでは,昇順に連続した2進数が,アルファベット順にコードとして割り当てられている。
出典:平成27年度 秋期 応用情報技術者試験 午前 問5
- アaとi
- イbとr
- ウcとl
- エdとx
正解:エ
解説
各文字のASCIIコードの1の位を求めると,a=7,b=8,c=9,d=0,i=5,l=8,r=4,x=0となります。この中でdとxはともに1の位が0となり,同じハッシュ値に写像されるため衝突が発生します。
選択肢ごとの解説
- ア誤り。aの1の位は7,iの1の位は5であり,異なるため衝突しません。
- イ誤り。bの1の位は8,rの1の位は4であり,異なるため衝突しません。
- ウ誤り。cの1の位は9,lの1の位は8であり,異なるため衝突しません。
- エ正しい。dの1の位は0,xの1の位も0であり,同じハッシュ値になるため衝突します。