ハッシュテーブル
キーを ハッシュ関数で「置き場所」に変換し、ほぼ一定時間で出し入れする仕組みを見ます。
7
0
挿入するキー
格納済み
0
衝突した回数
0
負荷率
0.00
ハッシュテーブルは、キーを ハッシュ関数で配列の添字に変換して値を格納します。
ここでは
別々のキーが同じ添字になることを 衝突といい、ここでは同じバケットに 鎖(チェイン)状につなぐ方法(チェイン法)で解決します。
表のサイズを変えると衝突の起きやすさがどう変わるか、負荷率(要素数 ÷ サイズ)に注目してください。
ハッシュ値 = キー mod 表のサイズ を使います。別々のキーが同じ添字になることを 衝突といい、ここでは同じバケットに 鎖(チェイン)状につなぐ方法(チェイン法)で解決します。
表のサイズを変えると衝突の起きやすさがどう変わるか、負荷率(要素数 ÷ サイズ)に注目してください。
いま何をしている?
ここがポイント
- ハッシュ関数でキーを添字に変換 → 探す場所が一発で分かる(平均 O(1))。
- 異なるキーが同じ添字になるのが衝突。チェイン法では鎖でつなぐ。
- 負荷率が高い(要素が詰まっている)と鎖が長くなり遅くなる ── 表を広げると改善。
- 表のサイズを変えて、同じキー列でも衝突回数が変わることを確かめよう。