データ構造データ構造シラバス9.0

ハッシュテーブルとは?

読み方: はっしゅてーぶる
1行定義(シラバス9.0 / IPA公式 · 確認日 2026-06-08

ハッシュ関数でキーをインデックスに変換し、データを格納する高速な連想配列。平均O(1)で検索・挿入・削除が可能

詳細解説

ハッシュテーブル(Hash Table)は、キー(key)をハッシュ関数(hash function)でインデックス(バケット番号)に変換し、対応する位置にデータを格納することで、平均O(1)の超高速な検索・挿入・削除を実現するデータ構造です。ハッシュ関数は「キーを特定の整数(ハッシュ値)に変換する関数」で、例えば文字列キーの各文字コードの和をテーブルサイズで割った余りをインデックスとする手法があります。同じインデックスに複数のキーが割り当てられる「衝突(コリジョン)」は避けられず、衝突処理として「チェーン法(同インデックスにリストで連結)」と「オープンアドレス法(次の空きバケットを探す)」があります。負荷率(Load Factor: 格納数/テーブルサイズ)が高くなると衝突が増えて性能が低下するため、定期的なリハッシュ(テーブルサイズ拡大)が行われます。FE試験ではハッシュ法の「衝突発生の仕組み」「衝突処理の方法の違い」「探索計算量O(1)の前提(衝突が少ない場合)」が出題ポイントです。Pythonの辞書(dict)やJavaのHashMapはハッシュテーブルの代表実装です。

FE試験での出題ポイント

  • 1平均O(1)の検索・挿入・削除が強み(最悪は衝突多発でO(n))
  • 2衝突(コリジョン)の発生メカニズムと処理法(チェーン法・オープンアドレス法)
  • 3負荷率(Load Factor)が高くなると性能低下→リハッシュ
  • 4FE試験:ハッシュ関数の計算(キーmod テーブルサイズ)のトレース

関連用語

配列
データ構造
連結リスト
データ構造
線形探索
アルゴリズムと疑似言語
二分探索
アルゴリズムと疑似言語

ハッシュテーブル」を問う科目B問題を解いて理解を定着

合格ナビではFE科目B疑似言語問題をAI解説付きで練習できます。

IPA シラバス 9.0 準拠 / 最終更新: 2026-06-08