2016-11-12 11 views
1

単語を格納するためにハッシュテーブルを使用したいと思います。 例えば、私はabaとaabの2つの単語を持っています。なぜなら、それらは同じ要素で構成されているため、同じインデックスでそれらを保存し、そのリンクリストにリンクリストを挿入したいからです。私が特定の方法で検索するのは簡単です。単語の要素はわずか26文字です。どのようにハッシュテーブルの適切なインデックスを設計するには?どのようにテーブルを整理するのですか?ハッシュテーブルのインデックスデザイン

+1

あなたは素数を使用することができ、例えば以下を参照してください。http://stackoverflow.com/a/11117236/905902を – wildplasser

答えて

0

あなたのハッシュテーブルで回答したい質問は、次のとおりです。

辞書を読んでいて、すべての値をハッシュテーブルに入れたいと思っています。次に、各文字がキーとして何回出現するかをint配列で指定することができます(例えば、 'a'はインデックス0、 'z'インデックス25)、リストの値を使用すると、そのエントリに複数の単語を追加します。

しかし、単語の長さがあまり長くないので、並べ替えられた単語をキーとして使用するだけです(例: 'aba'はキー 'aab'と 'aab'を明らかに取得します)。キャラクタ配列を使って新しい文字列を作成する)。

だから、Javaで、あなたはこのようなキーを得ることができます:

char[] key = word.toCharArray(); 
Arrays.sort(key); 
// and if you want a string 
String myKey = new String(key); 
関連する問題