Diskussion:Suffix-Array-Induced-Sorting

aus Wikipedia, der freien Enzyklopädie
Letzter Kommentar: vor 5 Jahren von FUZxxl in Abschnitt Der Pseudocode ist falsch
Zur Navigation springen Zur Suche springen

Der Pseudocode ist falsch

[Quelltext bearbeiten]

Der Pseudocode im Artikel ist falsch. Wenn ein Zeichen gleich seinem rechten Nachbarn ist, dann hat es den gleichen Typ wie sein rechter Nachbar. Im Pseudocode wird der Type aber stets auf L gesetzt.

Auch gibt es eine Sache, die ich nicht verstehe. Wenn ich für den String

babcbcd

ein Suffix-Array konstruieren möchte, dann scheint der Algorithmus die Suffixe folgendermaßen zu klassifizieren:

01234567
babcbcd$
LSSLSSLS
 *  *  *

Daraus konstruiert der Algorithmus nach Sortierung der S*-Suffixes folgende vorbefüllte Buckets:

$ABBBCCD
SSLSSLSL
71 4

Wenn ich das richtig verstanden habe, dann werden die einmal einsortieren S*-Suffixes nie wieder umsortiert. Dann kann aber diese Sortierung nicht stimmen, da bcbcd$ kleiner ist als bcd$, aber nicht links von bcbcd$ einsortiert werden kann, da es sich um einen Suffix des Types S handelt. Habe ich da was falsch verstanden? Oder ist die Beschreibung des Verfahrens inkorrekt?

--FUZxxlD|M|B 13:27, 22. Jan. 2019 (CET)Beantworten