Tôi có hai danh sách:Tính tương tự của hai danh sách
ví dụ: a = [1,8,3,9,4,9,3,8,1,2,3] và b = [1,8,1,3,9,4,9,3,8, 1,2,3]
Cả hai đều chứa int. Không có ý nghĩa đằng sau các int (ví dụ 1 không phải là 'gần hơn' đến 3 hơn là 8).
Tôi đang cố gắng đưa ra một thuật toán để tính toán sự giống nhau giữa hai danh sách ORDERED. Đặt hàng là từ khóa ngay tại đây (vì vậy tôi không thể chỉ lấy tập hợp của cả hai danh sách và tính toán tỷ lệ phần trăm set_difference của chúng). Đôi khi các số lặp lại (ví dụ 3, 8 và 9 ở trên, và tôi không thể bỏ qua các lần lặp lại).
Trong ví dụ trên, hàm tôi gọi sẽ cho tôi biết rằng a và b là ~ 90% tương tự chẳng hạn. Làm thế nào tôi có thể làm điều đó? Khoảng cách chỉnh sửa là thứ gì đó đến trong tâm trí bạn. Tôi biết làm thế nào để sử dụng nó với chuỗi nhưng tôi không chắc chắn làm thế nào để sử dụng nó với một danh sách các ints. Cảm ơn!
Xét một chuỗi để chỉ đơn giản là một danh sách các nhân vật, sẽ dường như là một ánh xạ khá đơn giản giữa việc tính toán khoảng cách chỉnh sửa trên các chuỗi và tính toán khoảng cách chỉnh sửa trên danh sách các số nguyên. – Chowlett
có thể bạn đang tìm kiếm [khoảng cách hamming] (http://en.wikipedia.org/wiki/Hamming_distance)? –
@Pat B: Khoảng cách Hamming yêu cầu các chuỗi có cùng độ dài và không thể xử lý việc xóa/chèn. Hãy xem ví dụ của OP ('a' và' b'). – NPE