エンベデッドシステムスペシャリスト暗記無料で始める

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

ハッシュ表(ハッシュ法)とは、キーをハッシュ関数に通して格納位置を直接計算する表。件数が増えても比較回数がほとんど増えず、探索・追加・削除が平均O(1)で済む。比較を繰り返して絞り込むのではなく、計算1回で位置が決まる点が線形探索や二分探索との構造的な違いになる。

最終更新:2026-10-06

試験情報

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

エンベデッドシステムスペシャリスト試験の頻出用語/午前II

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

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

背景

表を先頭から見る方式は件数に比例して遅くなり、整列して二分探索してもlog nの比較が要る。キーそのものから位置を計算してしまえば、件数と探索時間の関係を切り離せる。組込みでこれが効くのは、受信したコマンドコードから処理関数を引く、機器IDから設定を引くといった、件数が決まっていて頻繁に引く用途である。

具体例

受信したコマンドIDから処理関数を引く表なら、表の大きさを16としてID 0x41は0x41 mod 16 = 1の位置に登録しておく。受信のたびに同じ剰余を求めるだけで飛び先が決まるため、対応コマンドが増えてもif文の連鎖が伸びない。

試験での引っ掛け

常にO(1)ではない。衝突が続けば同じ位置に連なった要素をたどることになり最悪はO(n)まで劣化するため、最悪実行時間を保証したい実時間処理では扱いに注意が要る。順序も保持しないので範囲検索や整列取り出しには向かない。衝突自体は欠陥ではなく、チェイン法やオープンアドレス法で処理する。

関連用語

出た過去問

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

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

試験での特徴
  • 試験では2回出題(2017年度〜2021年度)
  • 分野:午前II
  • 常にO(1)ではない。