Why it matters

Polynomial hashing enables many O(n) string algorithms.

Advertisement

The architecture

Hash: polynomial in prime p mod prime q.

Rolling: shift left = multiply p; add new char.

Polynomial hashPolynomial hashΣ s[i]p^iRollingO(1) shiftsCollisiondouble hash reducesTwo hashes with different p, q dramatically reduce collision
Polynomial hashing.
Advertisement

How it works end to end

Collision: single hash has probability 1/q. Double hash: 1/q².

Substring comparison: hash both, compare.

Applications: substring search, longest common substring.