Lexikon der Mathematik: Sortieren durch Fächerverteilung
Radixsort, spezielles Sortierverfahren zum Sortieren von n Wörtern x1,…,xn über einem endlichen, bzgl. einer binären Relation ≤ total geordneten Alphabet Σ der Größe m.
Die Relation ≤ sei hierbei auf das freie Monoid Σ* aller endlichen Wörter über Σ fortgesetzt. Es gelte genau dann xi ≤ xj, wenn entweder xi ein Präfix von xj ist, oder es Wörter z, u1, u2 ∈ Σ* und zwei Zeichen a, b ∈ Σ mit x1 = z · a · u1, x2 = z · b · u2 und a< b gibt. Der binäre Operator · steht hierbei für die Konkatenation zweier Wörter.
Das Verfahren stellt in einem ersten Schritt m freie Fächer F[1],…,F[m] bereit, die als Listen realisiert sind. In dem zweiten Schritt werden die Wörter x1,…,xn über lmax Iterationen sortiert, wobei lmax die Länge des längsten Wortes der Wörter x1,…,xn angibt. In der j-ten Iteration wird jedes xi, beginnend bei x1, betrachtet, und in das Fach F[xi, lmax−j+1] geworfen, d.h., hinten an das Fach F[xi, lmax−j+1] angefügt. Hierbei bezeichnet xi, j das j-te Zeichen des Wortes xi. Ist die Länge von xi kleiner als j, so ist xi, j gleich dem leeren Wort ε, das nach Definition kleiner als jedes Zeichen a ∈ Σ ist.
Nach diesem Verteilen in die Fächer werden diese, beginnend beim ersten Fach, bis hin zum m-ten Fach aufgesammelt und wieder zu einer Liste zusammengefügt. Durch die Festlegung, daß beim Verteilen in die Fächer die Elemente jeweils hinten an ein Fach angefügt werden, ist das Verfahren ein stabiles Sortierverfahren. Somit sind nach der j-ten Iteration die Wörter x1,…,xn nach den Teilwörtern
Wenn Sie inhaltliche Anmerkungen zu diesem Artikel haben, können Sie die Redaktion per E-Mail informieren. Wir lesen Ihre Zuschrift, bitten jedoch um Verständnis, dass wir nicht jede beantworten können.