Knuth-Morris-Pratt (KMP) algorithm 


Knuth-Morris-Pratt (KMP) algorithm search for term

The Knuth–Morris–Pratt string searching algorithm (or KMP algorithm) searches for occurrences of a "word" W within a main "text string" S by employing the observation that when a mismatch occurs, the word itself embodies sufficient information to determine where the next match could begin, thus bypassing re-examination of previously matched characters. (wikipedia)