高度試験午前I暗記無料で始める

ハッシュ法とは?はっしゅほう

ハッシュ法とは、キーの値をハッシュ関数へ入れて格納位置を直接計算する方式。比較を繰り返す線形探索や2分探索と違い、衝突が起きなければデータ件数がいくら増えても1回の計算で目的の場所に届く。異なるキーが同じ位置になる衝突(シノニム)への備えが、設計上の要点になる。

最終更新:2026-10-07

試験情報

高度試験・午前I(全区分共通)の過去問では3回出題されています(2022年度〜2024年度)。

高度試験・午前I(全区分共通)の頻出用語/午前I(全区分共通)

別名:ハッシュ表、ハッシュテーブル、ハッシュ表(ハッシュ法)、ハッシュ表(連想配列)

この語が出る過去問を解く →

背景

探索の高速化は、比較の回数を減らす工夫の歴史でもある。2分探索は整列を前提に回数を対数まで落とすが、それでも件数が増えれば回数は増える。位置そのものを計算で決めてしまえば件数と無関係にできる——代わりに、有限の格納場所へ無数のキーを写すので衝突が必ず起きる。この衝突をどう捌くかで方式が分かれる。

具体例

h(x)=x mod 13 というハッシュ関数なら、キーの差が13の倍数になる組(3と16、5と31など)が同じ位置に入る。対処はチェイン法(同じ位置の要素をリストでつなぐ)とオープンアドレス法(空いている別の位置を順に探す)の2通り。

試験での引っ掛け

衝突条件を問う問題では、キーそのものの値ではなく「2つのキーの差が除数の倍数になるかどうか」で判断する。また平均で一定時間というのは衝突が少ない前提の話で、偏ったハッシュ関数では性能が線形探索並みに落ちる。

関連用語

出た過去問

解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。

この語が出る過去問を解く →

試験での特徴
  • 試験では3回出題(2022年度〜2024年度)
  • 分野:午前I(全区分共通)
  • 衝突条件を問う問題では、キーそのものの値ではなく「2つのキーの差が除数の倍数になるかどうか」で判断する。