Computing Patterns In Strings by William Smyth & Bill Smyth