Welche Nachteile hat der Algorithmus "Quicksort"?

4 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Dass die Geschwindigkeit im schlechtesten Fall n² ist. Davon ab ist der Quicksort unstable, was bedeutet, dass bei identischen Eingaben nicht die Reihenfolge der Eingabe beibehalten wird. Das ist vor allem wichtig, wenn man nach mehreren Kriterien nacheinander sortiert.

Woher ich das weiß:Berufserfahrung – Softwareentwickler/Projektleiter seit 2012

Eigentlich ist nur die sehr fehleranfällige Implementation ein Nachteil, da sich bei der Rekursion schnell Fehler unbemerkt einschleichen können. Zudem kann man den Algorithmus nicht in Programmiersprachen einsetzen, die keine Rekursion unterstützen.

Wie gut der Quicksort arbeitet hängt vom Einzelfall ab.

LG Knom

Woher ich das weiß:eigene Erfahrung
  1. Quicksort wird im Vergleich zu Bubblesort (oder so) langsam für kurze Listen (< 5 oder so)...
  2. deswegen sollte man nie reines Quicksort verwenden, glaub ich...
  3. https://stackoverflow.com/questions/46786327/why-bubble-sort-is-faster-than-quick-sort

nobytree2  25.11.2019, 09:37
deswegen sollte man nie reines Quicksort verwenden, glaub ich...

Genau: Man kann eine Fallunterscheidung je nach Eingabelänge vorschalten.

1
apachy  25.11.2019, 09:52

Es gibt auch unterschiedliche Geschwindigkeiten wenn die Liste schon so gut wie sortiert ist bzw. es ist oder umgekehrt. Auch hier ist Quicksort deutlich langsamer als viele andere Verfahren wie z.B. ein Mergesort.

2

Der Nachteil von Quicksort liegt darin, dass dieses Verfahren im Falle einer schon weitgehend sortierten Folge oder im Falle vieler gleichartiger Schlüsselwerte zu einem Worst-Case-ähnlichen Verhalten führt.