Der Knuth-Morris-Pratt (KMP) Algorithmus ist ein effizienter Algorithmus zur Mustererkennung in Strings, der eine Vorverarbeitung des Musters nutzt, um die Suche zu optimieren. Während der Preprocessing-Phase wird ein Prefix-Suffix Array (häufig als bezeichnet) erstellt, das für jedes Zeichen im Muster die Länge des längsten Präfixes angibt, das gleichzeitig auch ein Suffix ist. Diese Informationen ermöglichen es, bei einer Mismatch-Situation im Suchprozess das Muster nicht vollständig neu auszurichten, sondern an einer geeigneten Position weiterzumachen, was die Effizienz erheblich steigert. Der Algorithmus hat eine Laufzeit von , wobei die Länge des Textes und die Länge des Musters ist. Durch die geschickte Nutzung des -Arrays wird die Anzahl der Vergleiche minimiert und die Suche somit schneller und effizienter gestaltet.
Starte dein personalisiertes Lernelebnis mit acemate. Melde dich kostenlos an und finde Zusammenfassungen und Altklausuren für deine Universität.