Czy istnieje skuteczny algorytm rozmytej deduplikacji list ciągów? [duplikować
To pytanie ma już odpowiedź tutaj:
Rozmyte dopasowanie deduplikacji w czasie krótszym niż wykładniczy? 6 odpowiedziNa przykład mam długą listę ciągów, każdy ciąg ma około 30-50 znaków i chcę usunąć ciągi podobne do niektórych innych ciągów z tej listy (pozostawiając tylko jedno wystąpienie z rodziny duplikatów
Spojrzałem na różne algorytmy podobieństwa ciągów, na przykład odległość Levensteina i metodę przedstawioną wTen artyku. Działają, ale jest boleśnie powolny - najlepszy algorytm, jaki wymyśliłem, wykazuje złożoność O (n ^ 2) i zajmuje około 1,5 s na przetworzenie listy z 3000 ciągów.
Czy istnieje jakiś szybki sposób na deduplikację tych list?