Samplesort

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
QS-Informatik

Dieser Artikel wurde wegen inhaltlicher Mängel auf der Qualitätssicherungsseite der Redaktion Informatik eingetragen. Dies geschieht, um die Qualität der Artikel aus dem Themengebiet Informatik auf ein akzeptables Niveau zu bringen. Hilf mit, die inhaltlichen Mängel dieses Artikels zu beseitigen, und beteilige dich an der Diskussion! (+)

Samplesort ist ein Sortieralgorithmus, der 1970 von W. D. Frazer und A. C. McKellar in der wissenschaftlichen Publikation Samplesort: A Sampling Approach to Minimal Storage Tree Sorting veröffentlicht wurde. Dieser Algorithmus sortiert eine Eingabe rekursiv, indem er in jedem Schritt eine zufällige Auswahl (Samples) von Elementen aus der unsortierten Eingabesequenz wählt, von denen eine Teilmenge als Separatoren eingesetzt wird, welche wiederum die Eingabesequenz für die nächsten rekursiven Sortierschritte auftrennen. Durch Überabtastung, das heißt die Auswahl von mehr Separatoren als nötig und Auswahl der besten (am gleichmäßigsten auftretenden) daraus wird eine Aufteilung der Eingabesequenz in (im Mittel) recht gleich große Stücke erreicht, was die Güte dieses Teile-und-herrsche-Ansatzes erhöht.

Prinzip[Bearbeiten]

Bei dem Verfahren handelt es sich um eine Verallgemeinerung des minimalen Quicksort-Ansatzes. Zum besseren Verständnis kann das Verfahren in drei unabhängige Phasen unterteilt werden. Diese Trennung kann jedoch bei einer Implementierung mit Ziel des minimalen Speicherbedarfs nicht eingehalten werden. In der ersten Phase wird eine zufällige Teilfolge aus der Eingangssequenz gewählt.

Literatur[Bearbeiten]

  •  W. D. Frazer, A. C. McKellar: Samplesort: A Sampling Approach to Minimal Storage Tree Sorting. In: Journal of the ACM. 17, Nr. 3, Juli 1970, ISSN 0004-5411, S. 496-507.

Frazer und McKellars Samplesort und weitere Versionen:

Erweiterungen für parallele Berechnungen: