Tôi cũng muốn biết thuật toán nào có trường hợp phức tạp nhất của tất cả để tìm tất cả các lần xuất hiện của chuỗi trong chuỗi khác. Có vẻ như thuật toán của Boyer – Moore có độ phức tạp về thời gian
Tôi gặp khó khăn khi hiểu việc triển khai thuật toán Knuth-Morris-Pratt này trong Haskell. http://twanvl.nl/blog/haskell/Knuth-Morris-Pratt-in-Haskell Đặc biệt tôi không hiểu việc xây dựng automaton.
Với vấn đề sau đây: Định nghĩa: Gọi S là một chuỗi trên bảng chữ cái Σ. S' là giai đoạn nhỏ nhất của S nếu S' là chuỗi nhỏ nhất sao cho: S = (S')^k (S''), nơi S'' là tiền tố của S. Nếu không có S' nào