基本情報暗記無料で始める

ハッシュ表(ハッシュ法)とは?はっしゅひょう

ハッシュ表(ハッシュ法)とは、キーをハッシュ関数に通して得た値をそのまま格納位置の添字にし、計算だけで場所を決める方式。表の中を順に見比べる必要がないので、件数が増えても探索・追加・削除の手間がほとんど増えず、理想的には一定時間で済む。別のキーが同じ位置になる衝突をどう捌くかが設計の要点になる。

最終更新:2026-10-09

試験情報

基本情報技術者試験の過去問では5回出題されています(2018年度〜2024年度)。

基本情報技術者試験の頻出用語/テクノロジ系

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

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

背景

線形探索は件数に比例して遅くなり、2分探索は先に整列しておく必要がある。件数がいくら増えても一定時間で見つけたいなら、順に比べるのをやめて「どこにあるかを計算で求める」しかない。実際に使う分より広く表を取り、空きを残しておくことで衝突を減らす。記憶領域を余分に払って速度を買う交換であり、どこで折り合いを付けるかが設計の判断になる。

具体例

ハッシュ関数を「キーを13で割った余り」とすると、キー100は100 mod 13 = 9なので添字9の位置へ入れる。探すときも同じ計算をするだけで位置が分かる。Pythonの辞書やJavaのHashMapは、内部でこの方式を使って高速な検索を実現している。

試験での引っ掛け

「常に一定時間」ではない。衝突が特定の位置に集中すると、そこに連なった要素を順にたどることになり、最悪は件数に比例するまで劣化する。また順序を保持しないので、範囲検索や整列順の取り出しには向かない。衝突自体は関数の欠陥ではなく、チェイン法(同じ位置になった要素をリストでつないで並べる方法)やオープンアドレス法(空いている別の位置を探して入れる方法)で処理する前提である。

関連用語

出た過去問

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

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

試験での特徴
  • 試験では5回出題(2018年度〜2024年度)
  • 分野:テクノロジ系
  • 「常に一定時間」ではない。