s[0]*31^(n-1) + s[1]*31^(n-2) + ... + s[n-1] このアルゴリズムを使用して hash
s[0]* を実行します31^(n-1) + s[1]*31^(n-2) + ... + s[n-1] このアルゴリズムを使用して hash
を実行してみてはどうでしょうか?
競合を検出するにはどうすればよいですか?
固定長の文字列、たとえば 10 文字がある場合、
競合状況は何ですか?
このアルゴリズムは Java のハッシュコードにあると言われていますが、そうなのかはわかりません。 Java バージョンを送信します
-----解決策---------
大量のデータでのハッシュの競合は避けられません。一般に、競合が発生した場合は、順次リストが使用されます
競合用のストレージ領域を確保しない場合、おそらく解決策はありません