• ベストアンサー

ハッシュ法について

ハッシュ法とは何のためのアルゴリズムなんでしょうか? 入力データと出力データ、必要な条件についても教えていただきたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • nickn123
  • ベストアンサー率57% (8/14)
回答No.1

ハッシュ(hash)とは、データ検索を高速化する方法です。 例えば、1万人の名簿から名前を使って検索する場合に、単純な検索だと、最大では1万回の名前の比較が必要になります。 そこで、1万人のデータをあらかじめ複数のグループに分割しておき、検索時に特定のグループだけを検索する事で比較回数を少なくしようと言う方法です。 この為には、名前を入力するとグループの番号に変換する関数が必要になります。この関数をハッシュ関数と呼び、求められる値(グループ番号)をハッシュ値と呼びます。 #単純な例だと、名前の先頭があ行だったら1、か行だったら2、さ行だったら3、、、わ行だったら10、と言う関数にすれば、10個のグループに分割できますよね。。 ハッシュ関数は、各ハッシュ値がなるべく均等に選択されるものが良いです。つまり、各グループ内の数が均等にした方が良い。

ilias
質問者

お礼

どうもありがとうございました。参考にさせていただきます。

関連するQ&A