あなたは、文字列C++:一連の文字列のハッシュ関数についての提案文字列の順序は無関係です
abc cba bc
bc abc cba
私がしようとしているのこれら二つの配列があるとしましょう上記の2つのシーケンスが同じバケットにマッピングされるように、そのようなシーケンスのマッピング(シーケンスも文字列)を作成します。
私の最初の考えは、各文字列に個別に適用されるハッシュ関数の結果を追加することです。このようにして、彼らの秩序は重要ではありません。シーケンス文字列全体にハッシュ関数を適用した場合、もちろんハッシュ結果は異なります。
しかし、私は文字列ハッシング関数の世界では非常に新しいので、このアプローチが効率的かどうかはわかりません。このウェブサイトで
http://www.partow.net/programming/hashfunctions/index.html
しかし私は、私は1つが私のニーズのために「最善」でしょうかわからないんだけど、文字列のハッシュのための多くの異なる実装を見つけました。
シーケンス内の各文字列についての技術的な詳細は、それぞれが25文字を超えないことです。また、各シーケンスは3つ以上の文字列を持ちません。
質問
1.
うシーケンス作業の各文字列に文字列のハッシュ関数の結果を追加するこのアプローチは?
2.
はいの場合、どの文字列ハッシュ関数を使用すれば、少ない衝突量が得られ、時間効率も良いでしょうか?
文字列シーケンスのソートされたコピーにハッシュ関数を適用すると便利でしょうか? –
アルファベットのサイズはどのくらいですか(つまり、どの文字セットが使用されますか?) – didierc
あなたはそれらを同じバケットに入れたいが、衝突させない?背の高い注文。 – WhozCraig