Does the Knuth-Morris-Pratt algorithm involve a preprocessing step to make this "partial matching" table? Also, the name is a bit of a mouthful, do there exist alternative names for the same algorithm?