ハッシュ表(ハッシュ法)とは?
ハッシュ表(ハッシュ法)とは、キーをハッシュ関数で計算して格納位置(添字)を直接求める方式。データ量が増えても比較回数がほとんど増えず、理想的には探索・追加・削除がO(1)で行える。FEではハッシュ関数の計算結果を求める問題と、衝突が起きたときの動作が問われる。
はっしゅひょう
ハッシュ表(ハッシュ法)の意味
キーをハッシュ関数で計算して格納位置(添字)を直接求める方式。データ量が増えても比較回数がほとんど増えず、理想的には探索・追加・削除がO(1)で行える。FEではハッシュ関数の計算結果を求める問題と、衝突が起きたときの動作が問われる。
ハッシュ表(ハッシュ法)の具体例
ハッシュ関数を「キーを7で割った余り」とすると、キー23は23 mod 7 = 2なので添字2の位置へ格納する。探索時も同じ計算をするだけで位置が分かるため、表の中を順に見ていく必要がない。
ハッシュ表(ハッシュ法)は試験でどう引っ掛けられる?
「常にO(1)」ではない。衝突が多発すると同じ位置に連なったデータを順にたどることになり、最悪はO(n)まで劣化する。また、ハッシュ表は順序を保持しないので、範囲検索や整列順の取り出しには向かない。異なるキーが同じ値になること自体は関数の欠陥ではなく、チェイン法(同じ位置に連結リストをぶら下げる)やオープンアドレス法(空きを探して置く)で処理する。
ハッシュ表(ハッシュ法)と関連する用語
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。