探索 / Hash Table(ハッシュテーブル)

キーをハッシュして
バケットへ置く。

平均的には高速に探索できますが、衝突が起きると工夫が必要です。教材では衝突解決の考え方まで見せます。

探索比較教材動作イメージ付き

目次

このページの目次

このページでわかること

先に知っておくポイント

1. 何を比較するか
2. 候補がどう減るか
3. 前提条件があるか

概要

概要

平均的には高速に探索できますが、衝突が起きると工夫が必要です。教材では衝突解決の考え方まで見せます。

考え方

擬似コード

index = hash(key) % tableSize
if bucket occupied then resolve collision
store or search in bucket

要点

要点まとめ

Average search

O(1)

Worst search

O(n)

鍵

良いハッシュ

論点

衝突

補足

向いている場面と注意点

平均が速い理由

狙ったバケットへ直接飛べるからです。

衝突

同じ場所に複数キーが来ると連鎖や再配置が必要です。

教え方

衝突前後の見た目の変化を出すと理解しやすいです。

動きで確認

動きを見てたしかめる

ここでは「何を比較するか」を見ながら、上で読んだ内容を動きと結びつけます。

注目発見除外

次に見る

次に見るページ

比較すると違いがわかりやすいページを先に置いています。