WISSENSARTIKEL / COMPUTER & HARDWARE

Quick Sort

Effizienter Vergleichsbasierter Sortieralgorithmus

◎ KURZDEFINITION

Quick Sort Quick Sort ist ein effizienter, vergleichsbasierter Sortieralgorithmus, der eine Liste durch wiederholtes Teilen in kleinere Teillisten sortiert.

Eigenständig verständliche Definition
✦

Das Wichtigste auf einen Blick

  • Quick Sort ist ein schneller, rekursiver Sortieralgorithmus.
  • Die Wahl des Pivot-Elements ist entscheidend für die Effizienz.
  • Im Durchschnitt ist Quick Sort sehr effizient mit O(n log n) Laufzeit.
  • Der Algorithmus arbeitet in-place und benötigt wenig zusätzlichen Speicher.
  • Quick Sort ist nicht stabil, was bei bestimmten Anwendungen berücksichtigt werden muss.
  • Er wird häufig in Programmiersprachen und Datenbanken eingesetzt.
01

Überblick: Quick Sort

Quick Sort ist einer der bekanntesten und am häufigsten eingesetzten Sortieralgorithmen in der Informatik. Er wurde von Tony Hoare entwickelt und zeichnet sich durch seine durchschnittlich sehr gute Laufzeit aus. Der Algorithmus basiert auf dem Prinzip des Teilens und Herrschens, indem er eine Liste in kleinere Teilbereiche zerlegt, diese sortiert und anschließend zusammenführt. Aufgrund seiner Effizienz und einfachen Implementierung wird Quick Sort in vielen Programmiersprachen und Anwendungen verwendet.

02

Was ist Quick Sort?

Quick Sort ist ein effizienter Sortieralgorithmus, der eine Liste oder ein Array durch wiederholtes Aufteilen in kleinere Teilbereiche sortiert. Dabei wird ein sogenanntes Pivot-Element ausgewählt, um die Liste in Elemente kleiner und größer als das Pivot zu partitionieren. Anschließend werden die Teilbereiche rekursiv sortiert.

03

Funktionsweise von Quick Sort

Der Algorithmus wählt zunächst ein Pivot-Element aus der Liste aus. Danach werden alle Elemente so umgeordnet, dass alle kleineren Elemente links vom Pivot und alle größeren rechts davon liegen. Anschließend wird Quick Sort rekursiv auf die beiden Teilbereiche angewendet, bis die gesamte Liste sortiert ist.

04

Schritte des Quick Sort Algorithmus

1Pivot-Element auswählen
2Liste in zwei Teillisten aufteilen: Elemente kleiner als Pivot und Elemente größer als Pivot
3Rekursiv Quick Sort auf die Teillisten anwenden
4Teillisten zusammenführen (implizit durch Rekursion)
05

Vergleich der Laufzeiten von Quick Sort

FallLaufzeitBeschreibung
Best CaseO(n log n)Pivot teilt Liste immer in zwei gleich große Teile
Average CaseO(n log n)Zufällige Pivot-Auswahl, durchschnittliche Aufteilung
Worst CaseO(n²)Pivot ist immer das kleinste oder größte Element
06

Vorteile und Nachteile von Quick Sort

VorteileNachteile
Sehr schnelle durchschnittliche LaufzeitSchlechteste Laufzeit bei ungünstiger Pivot-Wahl
In-place Algorithmus, benötigt wenig zusätzlichen SpeicherRekursion kann bei sehr großen Listen zu Stack Overflow führen
Einfache ImplementierungNicht stabil (gleiche Elemente können ihre Reihenfolge ändern)
07

Beispiel: Quick Sort auf einer Zahlenliste

✦

Gegeben sei die Liste [8, 3, 7, 6, 2]. Quick Sort wählt z.B. 6 als Pivot. Die Liste wird in [3, 2] (kleiner als 6) und [8, 7] (größer als 6) aufgeteilt. Diese Teillisten werden rekursiv sortiert und anschließend zusammengeführt zur sortierten Liste [2, 3, 6, 7, 8].

08

Wichtiger Hinweis zur Pivot-Auswahl

✦

Die Effizienz von Quick Sort hängt stark von der Wahl des Pivot-Elements ab. Zufällige oder median-basierte Pivot-Auswahl können die Wahrscheinlichkeit eines schlechten Laufzeitverhaltens deutlich reduzieren.

09

Anwendungsgebiete von Quick Sort

Quick Sort wird in vielen Bereichen eingesetzt, darunter Sortierfunktionen in Programmiersprachen, Datenbankmanagementsysteme und in der Algorithmik, wenn schnelle Sortierung großer Datenmengen erforderlich ist.

◇

Zusatzinformationen

◇

Algorithmus: Quick Sort

Entwickler: Tony Hoare

Algorithmustyp: Vergleichsbasierter Sortieralgorithmus

Prinzip: Teile und Herrsche

Durchschnittliche Laufzeit: O(n log n)

Schlechteste Laufzeit: O(n²)

Speicherbedarf: In-place (O(log n) zusätzlicher Speicher für Rekursion)

Einsatzgebiete: Allgemeine Sortierung, Datenbanken, Programmiersprachenbibliotheken

Aa

Synonyme und alternative Bezeichnungen

?

Häufige Fragen zu Quick Sort

Was ist das Hauptprinzip von Quick Sort?

Quick Sort basiert auf dem Teile-und-Herrsche-Prinzip, bei dem eine Liste in kleinere Teilbereiche anhand eines Pivot-Elements aufgeteilt und diese rekursiv sortiert werden.

Wie wird das Pivot-Element ausgewählt?

Das Pivot-Element kann unterschiedlich gewählt werden, z.B. als erstes, letztes, mittleres oder zufälliges Element der Liste. Die Wahl beeinflusst die Effizienz des Algorithmus.

Ist Quick Sort stabil?

Nein, Quick Sort ist nicht stabil, das heißt, gleiche Elemente können ihre ursprüngliche Reihenfolge verlieren.

Wie hoch ist die durchschnittliche Laufzeit von Quick Sort?

Die durchschnittliche Laufzeit von Quick Sort beträgt O(n log n).

Wann tritt der schlechteste Fall bei Quick Sort auf?

Der schlechteste Fall tritt auf, wenn das Pivot-Element immer das kleinste oder größte Element ist, was zu einer Laufzeit von O(n²) führt.

Benötigt Quick Sort zusätzlichen Speicherplatz?

Quick Sort ist ein in-place Algorithmus und benötigt nur O(log n) zusätzlichen Speicher für die Rekursion.

Für welche Datenmengen eignet sich Quick Sort besonders gut?

Quick Sort eignet sich besonders gut für große, unsortierte Datenmengen, da er im Durchschnitt sehr effizient arbeitet.

▤

Quellen & weiterführende Informationen

Quellenvorschläge und Nachweise zum Artikel. Bitte externe Inhalte eigenständig prüfen.

3 Quellen
  1. 01
    Introduction to Algorithms ↗
    MIT Press· Thomas H. Cormen et al.· BuchKI-Vorschlag · ungeprüft

    Standardwerk zur Algorithmik mit ausführlicher Beschreibung von Quick Sort.

    https://mitpress.mit.edu/books/introduction-algorithms
  2. 02
    Algorithm Design Manual ↗
    Springer· Steven S. Skiena· BuchKI-Vorschlag · ungeprüft

    Praktische Einführung in Algorithmen mit Beispielen zu Quick Sort.

    https://www.algorist.com/
  3. 03
    Quick Sort Algorithm ↗
    Wikipedia· Wikipedia contributors· Online-EnzyklopädieKI-Vorschlag · ungeprüft

    Übersicht über Funktionsweise, Varianten und Analyse von Quick Sort.

    https://en.wikipedia.org/wiki/Quicksort

Artikel teilen oder einbetten

Teile diesen Wissensartikel oder binde eine kompakte Vorschau auf deiner eigenen Website ein.

f Facebookin LinkedIn𝕏 X◉ WhatsApp
War dieser Artikel hilfreich?Dein Feedback hilft, die Wissensplattform zu verbessern.
ANSWER ENGINE · ARTIKEL

Diese Seite in Zahlen

Artikelstatistik
↗–Aufrufe dieses Artikels
◷–Unique Nutzer letzte 24 Stunden
◉–Unique Nutzer heute
▦–Unique Nutzer diesen Monat
Feedback zu diesem Artikel
👍 Ja
0
◐ Teilweise
0
👎 Nein
0

Alle Werte in diesem Abschnitt beziehen sich ausschließlich auf diesen Artikel.

ANSWER ENGINE · GESAMTES NETZWERK

Wissensplattform in Zahlen

Netzwerkstatistik
↗–Seitenaufrufe gesamt
◷–Unique Nutzer letzte 24 Stunden
◉–Unique Nutzer heute
▦–Unique Nutzer diesen Monat

Diese Werte beziehen sich auf die gesamte Plattform und alle veröffentlichten Artikel.