The Knuth-Morris-Pratt algorithm searches for a pattern using its proper prefix-suffix overlaps. After matching characters, a mismatch replaces by the length of the longest proper border of a string for that matched prefix, repeating until the next character can extend it or . The text index never moves backward. Precomputing prefix failure links takes time; during scanning each increase in can pay for a later decrease, giving total character work and auxiliary storage. A dense Knuth-Morris-Pratt automaton is a related implementation with alphabet-dependent preprocessing and storage.[ref]
A Knuth-Morris-Pratt automaton records how much of a fixed pattern matches the suffix of the text seen so far. State means the longest such prefix has length ; reading a symbol moves to the longest compatible prefix state. Reaching state reports a full length- match. For pattern aba, state two records suffix ab; reading a completes the match, while reading b falls back to state zero. A dense table for an alphabet of size uses preprocessing and storage, then constant work per text symbol.[ref]

Articles by others on the same topic (0)

There are currently no matching articles.