修了試験 2019-12-08実施分 基本情報技術者試験 問9
キーが小文字のアルファベット1文字(a,b,…,zのいずれか)であるデータを,大きさが10のハッシュ表に格納する。 ハッシュ関数として,アルファベットのASCIIコードを10進表記法で表したときの1の位の数を用いることにする。 衝突が起こるキーの組合せはどれか。 ASCIIコードでは,昇順に連続した2進数が,アルファベット順にコードとして割り当てられている。
正答4
解説
正解は4です。 ASCIIコードでは英小文字aが10進数で97で、b、c…と1ずつ増えます。 ハッシュ値は10進表記の1の位なので、1の位が同じになる組合せが衝突します。 【計算】 aは97、iは105です。 bは98、rは114です。 cは99、lは108です。 dは100、xは120です。 【選択肢別解説】 1:× aの1の位は7、iの1の位は5で異なるため、衝突しません。 2:× bの1の位は8、rの1の位は4で異なるため、衝突しません。 3:× cの1の位は9、lの1の位は8で異なるため、衝突しません。 4:○ dは100、xは120で、どちらも1の位が0です。 同じ格納位置になり衝突します。 【ポイント】 コードの差が10の倍数の2文字は必ず衝突します。 dとxは20文字離れているので、コードの差も20になります。まとめて解く
修了試験 2019-12-08実施分を通しで解く(80問)→