この質問はかなり長い間私を悩ませていましたが、今日はハッシュテーブルに関する詳細な記事を読んだことがあります。 の実装例を確認せずに私は最初からハッシュテーブルを書くためのショットを与えたかった。リンクされたリストの配列を使用したハッシュテーブルの実装
個別チェーンメソッドは、私にハッシュテーブルを実装する考えを与えました。データ構造の経験がある人なら誰でもこの質問を冗談と考えるかもしれませんが、私は初心者です。コードを直接ダイビングすることなく、実装の効率について話したかったのです。それが効率的か、それとも他の根本的な考え方がこれよりも好まれるだろうか?
別々のチェーンがうまく機能します.GOODハッシュアルゴリズムを使用している場合は、衝突が少なく、各チェーンが小さくなります。 – twain249
線形プロービングは大幅に優れているか、あるいはそれほど大きな違いはありませんか? – Ali
両方のアプローチでトレードオフがあります。最悪の場合、別々の連鎖は 'LinkedList'になります。線形プロービングでは、すべてのセルをチェックして、両方が' O(n) 'になるまでハッシュを再計算する必要があります。 'HashTable'がうまく実装されるかどうかを判断するための真の鍵は、使用されるハッシュアルゴリズム(および構造体のサイズ)が、衝突の数を決定するときです。 – twain249