ハッシュ法とは?
ハッシュ法とは、キーからハッシュ関数で格納位置を直接計算する探索方式。衝突が起きなければ、データ件数によらず一定時間で目的のデータに到達できる。
高度試験・午前I(全区分共通)の過去問では3回出題されています(2022年度〜2024年度)。
はっしゅほう
ハッシュ法の意味
キーからハッシュ関数で格納位置を直接計算する探索方式。衝突が起きなければ、データ件数によらず一定時間で目的のデータに到達できる。
ハッシュ法の具体例
h(x)=x mod n というハッシュ関数では、キーaとbが同じ位置に入る(衝突する)条件は「a−bがnの倍数であること」。衝突対策にはチェイン法(同じ位置をリストでつなぐ)とオープンアドレス法(空きを探す)がある。
ハッシュ法は試験でどう引っ掛けられる?
衝突条件を問う問題では、キーそのものではなく「キーの差が除数の倍数になるか」で判断する。
ハッシュ法と関連する用語
ハッシュ法が出た過去問
自然数をキーとするデータを、ハッシュ表を用いて管理する。キーxのハッシュ関数h(x)を h(x)=x mod n とすると、任意のキーaとbが衝突する条件はどれ…
正解:a-bがnの倍数
要点:h(x)=x mod n の衝突条件は a−b が n の倍数
ハッシュ関数がh(x)=x mod nのとき、キーaとbが衝突するのはa mod n=b mod n、すなわちaとbをnで割った余りが等しいときである。これはa−bがnで割り切れること、つまりa−bがnの倍数であることと同値である。
出典:令和4年度 秋期 高度共通_午前I試験 am1 問3(IPA)ハッシュ表の理論的な探索時間を示すグラフはどれか。ここで、複数のデータが同じハッシュ値になることはないものとする。
正解:表の中のデータの個数によらず、データ1個当たりの探索時間が一定(横一直線)のグラフ
要点:衝突のないハッシュ表の探索はデータ数によらずO(1)
衝突が起こらない理想的なハッシュ表では、キーからハッシュ関数で格納位置を直接計算できるため、格納されているデータの個数に関係なく一定回数のアクセスで目的のデータに到達できる。すなわち計算量はO(1)であり、グラフは横軸に対して水平な直線になる。
出典:令和5年度 春期 高度共通_午前I試験 am1 問6(IPA)自然数をキーとするデータを、ハッシュ表を用いて管理する。キーxのハッシュ関数h(x)を h(x) = x mod n とすると、任意のキーaとbが衝突する条件は…
正解:a-bがnの倍数
要点:同じ剰余になる条件は二数の差が除数の倍数であること
衝突するのはa mod n = b mod n となるときである。両者をnで割った余りが等しいということは、その差a-bがnで割り切れる、すなわちnの倍数であることと同値である。
出典:令和6年度 秋期 高度共通_午前I試験 am1 問3(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。