Frage zu Quicksort < Algor.+Datenstr. < Theoretische Inform. < Hochschule < Informatik < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 01:40 Fr 08.07.2011 | Autor: | Blubie |
Hallo, mir geht es um eine Detailfrage zu Quicksort. Bei jeder Implementierung, die ich bis jetzt gesehen habe, ist mir aufgefallen, dass man, wenn das Pivot-Element doppelt vorkommt, dieses doppelte auch swapt. Warum lässt man diese Elemente, die mit dem Pivot identisch sind nicht einfach stehen und betrachtet nur, ob die Elemente echt größer oder echt kleiner als das Pivot sind.
Ich hoffe ihr versteht was ich meine..
Vielen Dank im Voraus :)
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 08:27 Fr 08.07.2011 | Autor: | reverend |
Hallo Blubie,
> Hallo, mir geht es um eine Detailfrage zu Quicksort. Bei
> jeder Implementierung, die ich bis jetzt gesehen habe, ist
> mir aufgefallen, dass man, wenn das Pivot-Element doppelt
> vorkommt, dieses doppelte auch swapt. Warum lässt man
> diese Elemente, die mit dem Pivot identisch sind nicht
> einfach stehen und betrachtet nur, ob die Elemente echt
> größer oder echt kleiner als das Pivot sind.
> Ich hoffe ihr versteht was ich meine..
Hm. Ich habe keine Lösung, aber ich bewundere das Problem.
Mit anderen Worten: das würde ich auch gern wissen.
Mal sehen, obs jemand erklären kann. Auf den ersten, zweiten und dritten Blick ist es nicht sinnvoll.
Grüße
reverend
|
|
|
|
|
Hossa :)
Das ist ein Relikt aus Zeiten, wo Speicherplatz noch knapp war. Da Quicksort rekursiv vorgeht, wird immer erst der Teil links vom Pivot-Element fertig sortiert, bevor mit dem Teil rechts vom Pivot-Element begonnen wird. Daher versuchte man damals links vom Pivot-Element möglichst wenig Elemente zu haben, um den Stack-Verbrauch bei der Rekursion möglichst klein zu halten. Heute ist dieses Detail nicht mehr wichtig. Aber da alle von allen abschreiben (Guttenberg-Effekt) hat sich dieses Tauschen bei Gleichhheit mit dem Pivot-Element bis heute gehalten :)
Viele Grüße
Hasenfuss
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 21:09 Fr 08.07.2011 | Autor: | reverend |
Hallo Hasenfuss,
danke für diese plausible Erklärung!
Grüße
reverend
|
|
|
|