Szukam struktury danych, która obsługuje efektywne przybliżone wyszukiwanie kluczy (np. Odległość Levenshteina dla ciągów znaków), zwracając możliwie najbliższe dopasowanie dla klucza wejściowego. Najlepszą strukturą danych, jaką do tej pory znalazłem, są drzewa Burkhard-Keller , ale zastanawiałem się, czy istnieją inne / lepsze struktury danych do tego celu.
Edycja: Więcej szczegółów mojej konkretnej sprawy:
- Ciągi zwykle mają dość dużą różnicę Levenshteina.
- Ciągi mają maksymalną długość około 20-30 znaków, ze średnią bliższą 10-12.
- Bardziej interesuje mnie wydajne wyszukiwanie niż wstawianie, ponieważ będę budować zestaw głównie statycznych danych, które chcę wydajnie wyszukiwać.