Ich suche nach einer Datenstruktur, die eine effiziente ungefähre Suche nach Schlüsseln unterstützt (z. B. Levenshtein-Abstand für Zeichenfolgen), wobei die bestmögliche Übereinstimmung für die Eingabetaste zurückgegeben wird. Die am besten geeignete Datenstruktur, die ich bisher gefunden habe, sind Burkhard-Keller-Bäume , aber ich habe mich gefragt, ob es für diesen Zweck andere / bessere Datenstrukturen gibt.
Bearbeiten: Einige weitere Details zu meinem konkreten Fall:
- Saiten haben normalerweise einen ziemlich großen Levenshtein-Unterschied.
- Saiten haben eine maximale Länge von ca. 20-30 Zeichen, wobei der Durchschnitt bei 10-12 liegt.
- Ich bin mehr an einer effizienten Suche als an der Einfügung interessiert, da ich eine Reihe größtenteils statischer Daten erstellen werde, die ich effizient abfragen möchte.