@@ -107,7 +107,6 @@ bubbleSort(A)
107107== Idee: Divide & Conquer (& Combine)
108108Teile Liste in Hälften, sortiere (rekursiv) Hälften, sortiere wieder zusammen
109109(Teil-)Sortierung erfolgt im Array selbst, Teillisten werden genutzt
110- Siehe auch [[7. Advanced Designs]]
111110== Algorithmus
112111```
113112mergeSort(A,l,r) // initial call: l=0,r=A.length-1
@@ -229,8 +228,8 @@ partition(A,l,r) //requires l<r, returns int in l..r-1
229228- Beste asymptotische Laufzeit $Theta(n log n)$
230229== Quicksort
231230- Worst-Case $Theta(n^2)$, randomisiert erwartet $Theta(n log n)$
232- - Praxis: Schneller als [[ *Merge Sort*]] , da weniger Kopieroperationen
233- - Implementierungen nutzen [[ *Insertion Sort*]] für kleine $n$
231+ - Praxis: Schneller als *Merge Sort*, da weniger Kopieroperationen
232+ - Implementierungen nutzen *Insertion Sort* für kleine $n$
234233= Untere Schranke für vergleichsbasiertes Sortieren
235234Hier werden nur deterministische Algorithmen betrachtet, im Durchschnitt gilt dies aber auch für randomisierte Algorithmen
236235== Genereller Algorithmus
@@ -255,7 +254,7 @@ Jeder (korrekte) vergleichsbasierte Sortieralgorithmus muss mindestens $Omega(n
255254- Schlüssel sind $d$-stellige Werte in $D$-närem Zahlensystem
256255- " Buckets" erlauben Einfügen, Entnehmen in eingefügter Reihenfolge
257256 - konstanter Zeitaufwand
258- - Umsetzung durch [[3. Basic Data Structures* Queues]]
257+ - Umsetzung durch Queues
259258== Algorithmus
260259```
261260radixSort(A) // keys: d digits in range [0,D-1]
0 commit comments