
ハッシュ検索がどういうものか理解したばかりです。
概略がわかっただけで、それ以上のことはわかっていません。
VBAでは、Dictionaryを使うと、ハッシュ検索らしきことがやれるそうですが、Dictionaryを使わずにやろうとすると、ハッシュ関数が必要になってくると思います。
VBAにはハッシュ関数というものは用意されていないのですよね?
また、他の言語にはハッシュ関数が用意されているのですよね?
ハッシュ関数がなければ、ハッシュ検索はできないということですよね?
それともVBAの中で、ハッシュ関数と同じ機能を果たす式を作れば良いのでしょうか?
可能ならその式はどんな式になるのでしょうか?
No.1ベストアンサー
- 回答日時:
少々誤解があります。
何かのデータを使い、そのデータ固有の値を求めるような関数は、全て「ハッシュ関数」と言えます。
ハッシュを効率よく使うために、いくつかの性質が求められる、というだけです。
検索用に使うハッシュ関数は、決まったものはありません。
扱うデータによって「最適」な計算が違うからです。
既存のものを使うのでなければ、自作すればいいのです。
また、検索だけがハッシュの使い方ではありません。
例えば、データが正しいかどうかの検証にも使われます。
100MBのデータをダウンロードして、失敗してないか確認する場合
ダウンロードした100MBとサーバーにある100MBを1バイトずつ比較する、なんてことは非現実的です。比較のために100MB通信しなおすことになるのですから。
そこで、ハッシュを計算して、比較すれば、少ないデータ量で確認できます(ハッシュが同じ場合は、確実に同じ、とは言えないが、ハッシュが違えば失敗していることが100%判明する)
このような使い方をするとき、その計算方法がバラバラでは意味がありません。
そこで、同じ計算をするために、MD5とかSHAとか言った決まった方法を使います。
これらも「ハッシュ関数」です。プログラミング言語によっては、用意されているので、自作の必要はありません。
では、後者のハッシュ関数を、検索用に使えばいいか、というと、そう単純ではありません。
例えば、MD5は128ビットの値を返します。単純計算で、2の128乗 通りです。
それだけのハッシュテーブル作るのは無駄だし、普通のPCでは無理です。
参考URL:http://ja.wikipedia.org/wiki/%E3%83%8F%E3%83%83% …
回答ありがとうございます。
これでまた少し理解が深まりました。
ということで、VBAでお遊びでハッシュ関数を作成し、ハッシュ検索をするコード書くとどうなるのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ハッシュマーク以降のアドレス取得
-
画面を強制的に再描画させる方法
-
複数の配列の全ての組み合わせ...
-
流れ図(フローチャート)が分か...
-
DOSコマンドのループ内のTIMEコ...
-
VBAの変数は何故「i」から始ま...
-
ループ7回目の悪役令嬢は、元敵...
-
範囲指定したセルを1つずつ飛...
-
正しいWebBrowserの使い方(ル...
-
UWSCの終了の仕方
-
Excel VBA For Nextっていらな...
-
WinAPI「MsgWaitForMultipleObj...
-
perlでファイルの拡張子を除い...
-
Escキーを押すと、中断する時と...
-
EXCEL VBA ユーザーフォームの...
-
桁数指定と四捨五入
-
ウィーンブリッジ発進回路
-
Excel VBA ユーザーフォームの...
-
乱数の桁数指定、または範囲指定。
-
null 参照の例外が実行時に発生...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
チェックデジットについて
-
短いハッシュの作り方
-
まったく同じファイルのハッシ...
-
ハッシュ検索はなぜ速い
-
ハッシュ値が一致したデータは...
-
ハッシュマーク以降のアドレス取得
-
ハッシュリストって単にハッシ...
-
ハッシュ値によるファイルの同...
-
英語でのシャープとコメの呼び...
-
計算されたハッシュ、レポート...
-
列挙型と連想配列の違いを教え...
-
文字列を変数名として扱う方法
-
perl入門
-
一意(ユニーク)かつ、ソート...
-
連想配列のサイズ制限
-
Perlでの配列のソートについて...
-
ハッシュ値を取ったらその取っ...
-
Perlで変数に代入された文字の...
-
正規表現を使ってコードを短く...
-
エラーが出ます。どこが間違っ...
おすすめ情報