0
私は単純な文字列からintへのマッピングを持っています。ハッシュやその他の効率的なアルゴリズムを使用してintをルックアップするにはどうすればよいですか?ハッシュを使用しているCでのintによるルックアップテーブル
struct string_int_map {
char *str;
int val;
};
struct string_int_map s_to_i_map[] {
{ "test1", 45 },
{ "test2", 95 },
{ "test3", 83 },
{ "test4", 67 },
};
ソル:
の配列をソートした後、バイナリサーチを行います。ヘルプの人々に感謝します。
この特定のコードの目的は何ですか?実際には、通常、単純な高速ハッシュ関数を作成します。その中には、実装や速度の難しさの点で異なる教科書に多数のものがあり、それを標準問題のハッシュテーブル、通常は単一リンクエントリ。 – tadman
'struct'配列が' val'によってソートされている場合、 'val'のバイナリ検索は高速です。 –
速度は最高ですが、メモリを犠牲にして配列を使用し、ハッシュ値をインデックスにします。それはそれより速くはなりません。 – klutt