キーが小文字のアルファベット1文字(a,b,…,zのいずれか)であるデータを,大きさが10のハッシュ表に格納する。ハッシュ関数として,アルファベットのASCIIコードを10進表記法で表したときの1の位の数を用いることにする。衝突が起こるキーの組合せはどれか。ASCIIコードでは,昇順に連続した2進数が,アルファベット順にコードとして割り当てられている。
平成27年度 秋期 応用情報技術者 問5
テクノロジ系
正解と解説
正解 エ
ASCIIコードは連続して並ぶので、アルファベット順で10の倍数だけ離れた文字は1の位が同じになり衝突します。dとxは20離れています。
ASCII(American Standard Code for Information Interchange)では、aは10進で97です。以降は1ずつ増え、zは122になります。各キーのハッシュ値は次のとおりです。aは97で7、iは105で5です。bは98で8、rは114で4です。cは99で9、lは108で8です。dは100で0、xは120で0となり、ハッシュ値が一致して衝突します。
ア:aは97で7、iは105で5です。8文字しか離れていないので、ハッシュ値は一致しません。
イ:bは98で8、rは114で4です。16文字離れていて10の倍数ではないので、ハッシュ値は一致しません。
ウ:cは99で9、lは108で8です。9文字しか離れていないので、ハッシュ値は一致しません。
出典:平成27年度 秋期 応用情報技術者試験 問5
全年度から出題。10問で実力を判定します。登録不要。
出典:平成27年度 秋期 応用情報技術者試験 問5(独立行政法人情報処理推進機構)
解説と用語ページは生成 AI が書き、別の生成 AI が確かめています。作り方