1
ハッシュを素数で割ってモジュラス値に減らした後、ローリングハッシュアルゴリズムがどのように機能するか理解できません。Rabin Karpアルゴリズムの法でローリングハッシュがどのように機能するかを理解する
数字123456
の5桁のシーケンスを考えてみましょう。
最初のチャンクは12345
です。私は値を保存し、次のウィンドウに6が入り、1が外に出る。
したがって、新しいハッシュは(12345-1*10^4)*10 + 6 = 23456
になります。これはかなり直感的です。
明らかに、これらの数値は大きいので、それらを小さく保つためにモジュラス関数が必要です。この目的のために素数として101
を取るとします。
したがって12345
は23
に縮小されます。それでは、どうすれば次のウィンドウのローリングハッシュを得ることができますか?23456
?
ありがとうございました。それは理解しやすい! – SexyBeast