練習のためだけに(宿題としてではなく)、私はこの問題を解決しようとしてきました(CLRS、第3版、演習11.2-6):
サイズmのハッシュテーブルにn個のキーを格納し、チェーンによって衝突を解決し、最長のチェーンの長さLを含む各チェーンの長さを知っているとします。ハッシュテーブル内のキーの中からランダムに均一にキーを選択し、予想時間O(L *(1 + m / n))で返す手順を説明します。
これまで私が思っていたのは、各キーが返される確率は1/nだということです。1からnまでのランダムな値xを取得しようとし、最初にバケットでソートされ、次にバケット内のチェーンに沿ってx番目のキーを順番に見つけようとすると、O(m)が正しいバケットを見つけるのにかかります。バケットを1つずつ通過し、O(L)時間で、チェーン内の適切なキーを取得します。