Sia Z che il prefisso della funzione possono essere usati per implementare l'algoritmo KMP(Knuth-Morris-Pratt) per trovare una sottostringa in una stringa in O(|S|). L'essenza di questo algoritmo è la seguente: attribuiamo alla stringa che vogliamo trovare la stringa in cui stiamo cercando. È altamente desiderabile inserire un carattere separatore tra queste righe, ovvero un carattere che non ricorre in nessuna riga (di solito #).