Z-chức năng
Z-function từ chuỗi S - mảng Z, mỗi phần tử của nó là Z [i ] bằng tiền tố dài nhất của chuỗi con bắt đầu từ vị trí i trong chuỗi S, cũng là tiền tố của toàn bộ chuỗi Z. Giá trị của hàm Z tại vị trí 0 thường bằng 0 hoặc bằng độ dài của toàn bộ chuỗi.
Khó khăn
O(|S| ^ 2) hoặc O(|S|).
 
Hàm tiền tố từ chuỗi 
S - mảng 
P, mỗi phần tử trong đó 
P[i] bằng với hậu tố dài nhất của chuỗi con bắt đầu từ vị trí < code>i trong chuỗi 
S, cũng là hậu tố của toàn bộ chuỗi 
S. Giá trị của hàm 
P tại vị trí 0 thường bằng 0 hoặc bằng độ dài của toàn bộ chuỗi. 
Khó khăn
O(|S| ^ 2) hoặc O(|S|).
 
 
Thử triển khai hàm Z và hàm tiền tố cho O(|S| ^ 2) code> .