ウカマル応用情報技術者ログイン

令和4年度 秋期 応用情報技術者 問5

テクノロジ系

自然数をキーとするデータを,ハッシュ表を用いて管理する。キーxのハッシュ関数h(x)を

h(x)=x mod n

とすると,任意のキーaとbが衝突する条件はどれか。ここで,nはハッシュ表の大きさであり,x mod nはxをnで割った余りを表す。

選択肢
正解と解説

正解 イ

a mod n=b mod nとなるのは、aとbの差a−bがnで割り切れるとき、つまりnの倍数のときです。

衝突とは、異なるキーのハッシュ値が同じになることです。a=qn+r、b=pn+rのように余りrが等しいとき、h(a)=h(b)になります。このときa−b=(q−p)nとなり、a−bはnの倍数です。逆に、a−bがnの倍数なら、aとbをnで割った余りは等しくなります。例えばn=5、a=12、b=7とすると、a−b=5で、どちらも余りは2になります。

ア:和a+bがnの倍数になるのは、余りの和が0またはnになるときです。余りが等しくなるとは限りません。例えばn=5、a=2、b=3では、余りは2と3で異なります。

ウ:倍数の向きが逆です。例えばn=6、a=1、b=2では、nはa+b=3の倍数ですが、余りは1と2で異なります。

エ:倍数の向きが逆です。nがa−bの倍数でも、a−bがnより小さければ余りは一致しません。例えばn=4、a=3、b=1では、余りは3と1で異なります。

出典:令和4年度 秋期 応用情報技術者試験 問5

全年度から出題。10問で実力を判定します。登録不要。

出典:令和4年度 秋期 応用情報技術者試験 問5(独立行政法人情報処理推進機構)

解説と用語ページは生成 AI が書き、別の生成 AI が確かめています。作り方