この記事はハッシュテーブルについて1から説明する内容ではなくて,一度は学習したことがある人向けです. Rustにおける2つのバージョンの,異なるHashMapで使われる理論と実装を解説しています.Rustに限らずハッシュテーブルへの理解を深める役に立てば幸いです. ハッシュテーブルは平均$O(1)$でのインサート,サーチ,デリートをサポートするデータ構造です. いろんな言語にいろんなハッシュテーブルの実装があります.それぞれ中身の実装に微妙に差があったりして厳密な議論をする際にはその中身が大事になってきたりします.実装は大まかには類似していると思いますが,衝突処理や探索方法,冪乗or素数スロットなどに明確なバリエーションが存在します.このあたりの選択は使用するハッシュ関数の性質とアプリケーションの要件によってある程度決定されることです.よく使われるものもありますが,最もよいという組み合わせ