以下の画像は : 6.006-Introduction to algorithm からのものです。
MIT OCW が提供するコース 6.006-アルゴリズムの紹介を行っているときに、Rabin-Karp アルゴリズムに出会いました。
最初の rs()==rt() が必要な理由を理解できる人はいますか? もしそれが使われているなら、文字列が等しいかどうかを力ずくで確認してから先に進むべきではありませんか? ハッシュが t[0] から行われ、他の文字列の一致を見つけようとするときに、文字列の等価性を考慮していないのはなぜですか?
画像では、rs() はハッシュ値用であり、rs.skip[arg] は、'arg' であると仮定して、その文字列の最初の文字を削除することです。</p>