自然数をキーとするデータを,ハッシュ表を用いて管理する。キーxのハッシュ関数h(x)を
h(x)=x mod n
とすると,任意のキーaとbが衝突する条件はどれか。ここで,nはハッシュ表の大きさであり,x mod nはxをnで割った余りを表す。
テクノロジ系
自然数をキーとするデータを,ハッシュ表を用いて管理する。キー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 が確かめています。作り方