IPA過去問ドリル

平成27年度 秋期 応用情報技術者試験 午前 問5

テクノロジ/アルゴリズム

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

出典:平成27年度 秋期 応用情報技術者試験 午前 問5

正解:エ

解説

各文字の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であり,同じハッシュ値になるため衝突します。
応用情報技術者の過去問を演習モードで解く