[解決済み] 文字列のハッシュ関数
2022-04-28 11:10:13
質問
C言語でハッシュテーブルを作成しており、文字列のハッシュ関数をテストしています。
最初に試したのは、アスキーコードを追加してモジュロ(%100)を使用する関数ですが、最初のテストデータで悪い結果が出ました。130ワードで40コリジョンです。
最終的な入力データは8000語(辞書をファイルに保存したもの)です。ハッシュテーブルはint table[10000]として宣言され、txtファイル内の単語の位置が格納される。
- 文字列のハッシュ化に最適なアルゴリズムはどれか?
- また、ハッシュテーブルのサイズはどのように決定するのですか?
どのように解決するのですか?
でいい結果が出ました。
djb2
ダン・バーンスタイン著
unsigned long
hash(unsigned char *str)
{
unsigned long hash = 5381;
int c;
while (c = *str++)
hash = ((hash << 5) + hash) + c; /* hash * 33 + c */
return hash;
}
関連
-
警告:符号付き整数式と符号なし整数式の比較 [-Wsign-compare]
-
[解決済み] ゲーム「2048」の最適なアルゴリズムとは?
-
[解決済み] JavaでMD5ハッシュを生成するにはどうすればよいですか?
-
[解決済み] Javascriptで文字列からHashを生成する
-
[解決済み] Bashでハッシュテーブルを定義する方法は?
-
[解決済み] ストラクチャーとユニオンの違い
-
[解決済み】forループを使った辞書の反復処理
-
[解決済み】画像処理。コカ・コーラ缶」認識のためのアルゴリズム改良
-
[解決済み】PHPパスワードのハッシュとソルトの安全性について
-
[解決済み] 良いハッシュ関数とは?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
構造体の配列--[エラー] '['トークンの前に一次式があることが予想される
-
libc++abi.dylib: NSException タイプの捕捉されない例外で終了するエラー
-
[C] Error [Error] 代入の左オペランドとして lvalue が必要です。
-
関数 'malloc' の暗黙の宣言に対する解決策
-
[解決済み] 文字列のハッシュ関数
-
[解決済み] 文字列のための優れたハッシュ関数
-
[解決済み] PTHREAD_MUTEX_INITIALIZER vs pthread_mutex_init ( &mutex, param )
-
[解決済み] c または c++ 用のシンプルな 2 次元クロスプラットフォームグラフィックスライブラリ?[クローズド]
-
[解決済み] プログラム終了前にmallocの後にfreeをしないと本当に何が起こるのか?
-
[解決済み] なぜalloca()の使用はグッドプラクティスとみなされないのでしょうか?