私はハッシュテーブル、ハッシュ関数などについて読んでいます。特定のバケット内に複数の値を格納するためにデータ構造として第2のハッシュテーブルを使用する方法については、ウィキペディアで「動的完全ハッシュ」を読む方法に興味を持っていました。ダイナミックパーフェクトハッシュとユニバーサルハッシュ関数 - 説明してください。
ただし、私が失われるのは、その2番目のハッシュテーブルのハッシュを実行するためにどのように汎用ハッシュ関数が選択されるかということです。バケツに格納されている値からこの汎用ハッシュ関数がどのように決定されるのか誰も説明できますか?私はウィキペディアの「普遍的なハッシュ関数」のページにある推論とロジックを漠然としていますが、直感的に理解しています。特に、これらの機能はどのように衝突を保証しないのですか?それとも、もしそれらが処分され、衝突が検出された場合に新しいものが生成されれば、それは現実的な時間内に行えることをどのようにして知ることができるでしょうか?
レディバードブック説明どうぞ?
おかげで - 挿入性能の "保証"がないことを知るのを助けます。パラメータ化されたハッシュ関数の自動/ランダム選択プロセス - 例を知っていますか/ウィキペディアを説明できますか? – Ray