ハッシュ
ハッシュドビーフ
ハッシュドポテト
ハッシュタグ
HusHusH
…
と、「ハッシュ」を使う単語は色々あります。英語の「ハッシュ」は「細切れ・ごた混ぜ」という意味があります。
で、ハッシュってなんやねんと。
ハッシュ関数というのがある。
code:hashfunc.cpp
using namespace std;
int main() {
hash<string> f;
cout << f("Pocala") << endl;
cout << f("pocala") << endl;
}
ハッシュ関数fを作っておいて(?) 文字列"Pocala"と"pocala"のハッシュ値を計算してみた。
"Pocala" → 275134842138411924
"pocala" → 11088822835022009970
になった。このように、ちょっとの変化でも結果が全然変わる。あとポイントとしては、同じ文字だとハッシュ値は同じになる。実際に動かしてみて試してみよう。
計算の中身は難しそうなので深入りしないことにします。お疲れ様でした。