Ein Suffix-Array ist eine Datenstruktur, die verwendet wird, um die Suffixe eines Strings in lexikographischer Reihenfolge zu speichern. Es ist besonders nützlich in der Textverarbeitung und bei Suchalgorithmen. Die Konstruktion eines Suffix-Arrays kann auf verschiedene Arten erfolgen, wobei die gängigsten Algorithmen die Naive Methode, Karkkainen-Sanders algorithm und Suffix-Array-Konstruktion basierend auf der Burrows-Wheeler-Transformation sind.
Die naive Methode hat eine Zeitkomplexität von , da sie alle Suffixe erzeugt, diese sortiert und dann die Indizes speichert. Effizientere Algorithmen wie der Karkkainen-Sanders-Algorithmus können die Konstruktion in oder erreichen, indem sie Techniken wie das Radixsort oder das Verketten von Suffixen nutzen. Suffix-Arrays sind besonders vorteilhaft, da sie im Vergleich zu anderen Datenstrukturen, wie z.B. Suffix-Bäumen, weniger Speicher benötigen und dennoch eine schnelle Suche ermöglichen.
Starte dein personalisiertes Lernelebnis mit acemate. Melde dich kostenlos an und finde Zusammenfassungen und Altklausuren für deine Universität.