資格暗記無料で始める

ハッシュ表(ハッシュ法)とは?

ハッシュ表(ハッシュ法)とは、キーをハッシュ関数で計算して格納位置(添字)を直接求める方式。データ量が増えても比較回数がほとんど増えず、理想的には探索・追加・削除がO(1)で行える。FEではハッシュ関数の計算結果を求める問題と、衝突が起きたときの動作が問われる。

エンベデッドシステムスペシャリスト試験の過去問では2回出題されています(2017年度〜2021年度)。

はっしゅひょう

エンベデッドシステムスペシャリスト試験の頻出用語/午前II/別名:ハッシュ法、ハッシュテーブル、ハッシュ表、ハッシュ表(連想配列)、連想配列


ハッシュ表(ハッシュ法)の意味

キーをハッシュ関数で計算して格納位置(添字)を直接求める方式。データ量が増えても比較回数がほとんど増えず、理想的には探索・追加・削除がO(1)で行える。FEではハッシュ関数の計算結果を求める問題と、衝突が起きたときの動作が問われる。

ハッシュ表(ハッシュ法)の具体例

ハッシュ関数を「キーを7で割った余り」とすると、キー23は23 mod 7 = 2なので添字2の位置へ格納する。探索時も同じ計算をするだけで位置が分かるため、表の中を順に見ていく必要がない。

ハッシュ表(ハッシュ法)は試験でどう引っ掛けられる?

「常にO(1)」ではない。衝突が多発すると同じ位置に連なったデータを順にたどることになり、最悪はO(n)まで劣化する。また、ハッシュ表は順序を保持しないので、範囲検索や整列順の取り出しには向かない。異なるキーが同じ値になること自体は関数の欠陥ではなく、チェイン法(同じ位置に連結リストをぶら下げる)やオープンアドレス法(空きを探して置く)で処理する。

ハッシュ表(ハッシュ法)と関連する用語

ハッシュ表(ハッシュ法)が出た過去問

最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。