Zum Inhalt springen
uencoder

Sorting Algorithm

Sortieralgorithmen bringen Elemente in eine Reihenfolge — Quicksort, Mergesort und Heapsort sind verbreitet — mit Komplexitäten von O(n log n) bis O(n²).

Zweck

Unsortierte Daten ordnen, die Grundlage für Suche, Deduplizierung und Anzeige.

Mechanismus

Vergleichsbasiertes Sortieren hat eine untere Schranke von O(n log n). Quicksort im Mittel O(n log n), schlimmster Fall O(n²), in-place. Mergesort ist O(n log n), stabil, braucht aber O(n) Platz. Heapsort ist O(n log n) in-place. Counting-/Radixsort sind nicht vergleichsbasiert und können O(n) erreichen. Stabile Sortierungen erhalten die relative Reihenfolge gleicher Elemente.

Anwendungsfälle

  • ORDER BY in Datenbanken
  • Vorverarbeitung vor der Suche
  • Rankings und Bestenlisten
  • Deduplizierung (Sortieren + Nachbarvergleich)

Beispiele

  • Eingabe
    [3,1,4,1,5] → quicksort
    Output
    [1,1,3,4,5]

    O(n log n) average

Häufige Fehler

Quicksort recursion overhead is high for small arrays
Use insertion sort for small arrays (a quicksort optimization)

Verwandte Begriffe

Verwandte Tools

References