ハッシュ テーブルは、データを保存/取得する最速/最良の方法であると言われています。
ハッシュテーブル、ハッシュについての私の理解は次のとおりです(間違っている場合は修正してください。他に何かあれば追加してください):
- ハッシュ テーブルは、値を格納するための配列 (単一または多次元) に他なりません。
- ハッシュは、データを挿入/取得するために配列内のインデックス/場所を見つけるプロセスです。データ項目を取得し、それをキーとしてハッシュ関数に渡すと、データを挿入/取得するインデックス/場所を取得できます。
質問があります:
データの保存/取得に使用されるハッシュ関数は、MD5、HMAC、SHA-1 などの認証用のセキュリティ アプリケーションで使用される暗号化ハッシュ関数とは異なりますか?
それらはどのように異なりますか?
- Cでハッシュ関数を書くには?
- それに対する標準やガイドラインはありますか?
- ハッシュ関数の出力、つまりインデックスが範囲外にならないようにするにはどうすればよいでしょうか?
これらをよりよく理解するための良いリンクをいくつか挙げていただければ幸いです。