Nhấn vào đây để đọc bằng ngôn ngữ khác: English
Thuật toán tìm kiếm chuỗi Knuth–Morris–Pratt (hoặc thuật toán KMP) tìm kiếm các lần xuất hiện của một "từ" W
trong một "chuỗi văn bản chính" T
bằng cách sử dụng quan sát rằng khi một không khớp xảy ra, từ chính nó cung cấp đủ thông tin để xác định nơi mà sự khớp tiếp theo có thể bắt đầu, qua đó bỏ qua việc kiểm tra lại các ký tự đã khớp trước đó.
- Thời gian:
O(|W| + |T|)
(nhanh hơn nhiều so với phương pháp trực tiếpO(|W| * |T|)
) - Không gian:
O(|W|)