Knuth Morris Pratt (KMP) String Search Algorithm - tutorial with failure function in Java
3-Second Blueprint (English)
- Precomputes a prefix-length failure array recording the longest proper prefix of each pattern slice that also matches its suffix.
- On a character mismatch, shifts the pattern forward using the failure table so the main text pointer never backtracks or re-reads.
- Reusing prior partial-match information eliminates redundant brute-force comparisons and guarantees optimal O(m + n) runtime.
KMP String SearchFailure Function ArrayLongest Proper PrefixO(m+n) Time Complexity
3-Sekunden-Fazit (Deutsch)
- Berechnet vorab ein Präfix-Array (Fehlerfunktion), das für jede Musterposition das längste echte Präfix speichert, das auch Suffix ist.
- Bei einem Fehlvergleich verschiebt das Array das Suchmuster gezielt weiter, ohne den Textzeiger jemals zurückzusetzen.
- Die Wiederverwendung bereits geprüfter Teilübereinstimmungen vermeidet redundante Vergleiche und garantiert lineare O(m + n)-Laufzeit.
KMP-String-SuchePräfix-FehlerfunktionLängstes echtes PräfixO(m+n)-Zeitkomplexität
Note / Hinweis: Blueprints are AI-generated educational summaries (0% Politics · 0% Religion · 0% Brainrot) and do not constitute medical, legal, or financial advice. / KI-generierte Zusammenfassung zu Bildungszwecken – ersetzt keine medizinische, rechtliche oder finanzielle Fachberatung.