Câu hỏi này đã được nhắc nhở bởi các cấu trúc dữ liệu hiệu quả để xây dựng trình kiểm tra chính tả nhanh .
Với hai chuỗi , chúng tôi nói rằng họ -close nếu họ Damerau-khoảng cách levenshtein ¹ là nhỏ, tức là cho một cố định . Một cách không chính thức, là số lần xóa, chèn, thay thế và (hàng xóm) tối thiểu cần thiết để chuyển đổi thành . Nó có thể được tính trong bằng lập trình động. Lưu ý rằng là một số liệu , đặc biệt đối xứng.
Câu hỏi quan tâm là:
Cho một tập hợp gồm chuỗi trên có độ dài tối đa , giá trị của cardinality là bao nhiêu
?
Vì thậm chí hai chuỗi có cùng độ dài có số chuỗi -cold khác nhau², một công thức / cách tiếp cận chung có thể khó tìm (không thể?). Do đó, chúng tôi có thể phải tính toán số lượng rõ ràng cho mỗi cho , dẫn chúng tôi đến câu hỏi chính:
Độ phức tạp (thời gian) của việc tìm kiếm tính chính xác của tập hợp đối với (tùy ý) gì?
Lưu ý rằng số lượng mong muốn là số mũ theo, vì vậy liệt kê rõ ràng là không mong muốn. Một thuật toán hiệu quả sẽ là tuyệt vời.
Nếu có ích, có thể giả định rằng chúng ta thực sự có một chuỗi (lớn) , đó là chúng ta giải quyết câu hỏi được tô sáng đầu tiên.
- Các biến thể có thể bao gồm sử dụng khoảng cách Levenshtein thay thế.
- Xét và . Các tập hợp chuỗi bao gồm là (8 từ) và (10 từ), tương ứng.