Algorithmen und Datenstrukturen
A11. Sortieren: Untere Schranke
Marcel L¨ uthi and Gabriele R¨ oger
Universit¨ at Basel
18. M¨ arz 2020
M. L¨uthi, G. R¨oger (Universit¨at Basel) Algorithmen und Datenstrukturen 18. M¨arz 2020 1 / 15
Algorithmen und Datenstrukturen
18. M¨ arz 2020 — A11. Sortieren: Untere Schranke
A11.1 Untere Schranke an erforderliche Vergleichsoperationen
A11.2 Zusammenfassung
M. L¨uthi, G. R¨oger (Universit¨at Basel) Algorithmen und Datenstrukturen 18. M¨arz 2020 2 / 15
A11. Sortieren: Untere Schranke Untere Schranke an erforderliche Vergleichsoperationen
A11.1 Untere Schranke an
erforderliche Vergleichsoperationen
M. L¨uthi, G. R¨oger (Universit¨at Basel) Algorithmen und Datenstrukturen 18. M¨arz 2020 3 / 15
A11. Sortieren: Untere Schranke Untere Schranke an erforderliche Vergleichsoperationen
Inhalt dieser Veranstaltung
A&D
Sortieren Vergleichsbasierte Verfahren
Nicht vergleichsbasierte
Verfahren Uberblick und ¨
Ausblick Komplexit¨ ats-
analyse Fundamentale Datenstrukturen
Suchen Graphen
Strings
M. L¨uthi, G. R¨oger (Universit¨at Basel) Algorithmen und Datenstrukturen 18. M¨arz 2020 4 / 15
A11. Sortieren: Untere Schranke Untere Schranke an erforderliche Vergleichsoperationen
Sortierverfahren
Sortieren
Vergleichsbasierte
Verfahren Selectionsort Insertionsort Mergesort
Minimale Vergleichszahl
Quick Sort Heap Sort Nicht
vergleichsbasierte Verfahren
Uberblick und ¨ Ausblick
M. L¨uthi, G. R¨oger (Universit¨at Basel) Algorithmen und Datenstrukturen 18. M¨arz 2020 5 / 15
A11. Sortieren: Untere Schranke Untere Schranke an erforderliche Vergleichsoperationen
Fragestellung
I Mergesort hatte bisher mit O (n log 2 n) die beste (Worstcase-)Laufzeit.
I Geht es noch besser?
I Wir zeigen: Nicht mit vergleichsbasierten Verfahren!
M. L¨uthi, G. R¨oger (Universit¨at Basel) Algorithmen und Datenstrukturen 18. M¨arz 2020 6 / 15
A11. Sortieren: Untere Schranke Untere Schranke an erforderliche Vergleichsoperationen
Vorgehen
I Schwierigkeit: Wir k¨ onnen nicht einen bestimmten
Algorithmus analysieren, sondern m¨ ussen eine Aussage ¨ uber alle m¨ oglichen Verfahren treffen.
I Vergleichsbasierte Verfahren k¨ onnen die Eingabe nur anhand von Schl¨ usselvergleichen analysieren.
I Sie m¨ ussen jede Eingabe korrekt sortieren.
I Daraus k¨ onnen wir eine untere Schranke an die Anzahl der Schl¨ usselvergleiche im worst-case ableiten.
M. L¨uthi, G. R¨oger (Universit¨at Basel) Algorithmen und Datenstrukturen 18. M¨arz 2020 7 / 15
A11. Sortieren: Untere Schranke Untere Schranke an erforderliche Vergleichsoperationen
Abstraktes Verhalten als Baum
Betrachte beliebigen vergleichsbasierten Sortieralgorithmus A.
I Verhalten h¨ angt nur vom Ergebnis der Schl¨ usselvergleiche ab.
I Bei jedem Schl¨ usselvergleich gibt es zwei M¨ oglichkeiten, wie der Algorithmus weiter macht.
I Wir k¨ onnen das graphisch als Baum darstellen.
M. L¨uthi, G. R¨oger (Universit¨at Basel) Algorithmen und Datenstrukturen 18. M¨arz 2020 8 / 15
A11. Sortieren: Untere Schranke Untere Schranke an erforderliche Vergleichsoperationen
Crashkurs Bin¨ arb¨ aume
I Bin¨ arbaum: jeder Knoten hat h¨ ochstens zwei Nachfolger I Knoten ohne Nachfolger heissen Bl¨ atter (Bild: eckige Knoten).
I Der Knoten ganz oben ist die Wurzel.
I Die Tiefe eines Blattes entspricht der
Anzahl von Kanten von der Wurzel zu dem Blatt.
Die maximale Tiefe eines Blattes in einem Bin¨ arbaum mit k Bl¨ attern ist mindestens log 2 k.
M. L¨uthi, G. R¨oger (Universit¨at Basel) Algorithmen und Datenstrukturen 18. M¨arz 2020 9 / 15
A11. Sortieren: Untere Schranke Untere Schranke an erforderliche Vergleichsoperationen
Aufgabe (Slido)
Was ist die maximale Tiefe eines Blattes in diesem Baum?
M. L¨uthi, G. R¨oger (Universit¨at Basel) Algorithmen und Datenstrukturen 18. M¨arz 2020 10 / 15
A11. Sortieren: Untere Schranke Untere Schranke an erforderliche Vergleichsoperationen
Ergebnis als Permutation
Was muss der Algorithmus k¨ onnen?
I Annahme: alle Elemente unterschiedlich
I Muss alle Eingaben der Gr¨ osse n korrekt sortieren.
I Wir k¨ onnen alle Algorithmen so anpassen, dass sie verfolgen, von welcher Position zu welcher Position die Elemente bewegt werden m¨ ussen.
I Das Ergebnis ist dann nicht das sortierte Array, sondern die entsprechende Permutation.
Beispiel: pos0 7→ pos2, pos1 7→ pos1, pos2 7→ pos0 I Da alle m¨ oglichen Eingaben der Gr¨ osse n korrekt gel¨ osst
werden m¨ ussen, muss der Algorithmus alle n! m¨ oglichen Permutationen erzeugen k¨ onnen.
M. L¨uthi, G. R¨oger (Universit¨at Basel) Algorithmen und Datenstrukturen 18. M¨arz 2020 11 / 15
A11. Sortieren: Untere Schranke Untere Schranke an erforderliche Vergleichsoperationen
Untere Schranke
I Jedes Blatt in der Baumdarstellung entspricht einer Permutation.
I Bei Eingabegr¨ osse n muss der Baum also mindestens n! Bl¨ atter haben.
I Die maximale Tiefe des entsprechenden Baumes ist demnach ≥ log 2 (n!).
I Es gibt also eine Eingabe der Gr¨ osse n mit
≥ log 2 (n!) Schl¨ usselvergleichen.
M. L¨uthi, G. R¨oger (Universit¨at Basel) Algorithmen und Datenstrukturen 18. M¨arz 2020 12 / 15
A11. Sortieren: Untere Schranke Untere Schranke an erforderliche Vergleichsoperationen
Untere Schranke: Absch¨ atzung
Absch¨ atzung von log 2 (n!) I Es gilt n! ≥ ( n 2 )
n24! = 1 · 2 · 3
≥2 · 4
≥2 ≥ 2 2
I log 2 (n!) ≥ log 2 (( n 2 )
n2) = n 2 log 2 ( n 2 )
log 2 (n!) = n 2 (log 2 n + log 2 1 2 ) = n 2 (log 2 n − log 2 2) log 2 (n!) = n 2 (log 2 n − 1)
Theorem
Jeder vergleichsbasierte Sortieralgorithmus ben¨ otigt Ω(n log n) viele Schl¨ usselvergleiche. Damit liegt auch die Laufzeit in Ω(n log n).
Mergesort ist asymptotisch optimal.
M. L¨uthi, G. R¨oger (Universit¨at Basel) Algorithmen und Datenstrukturen 18. M¨arz 2020 13 / 15
A11. Sortieren: Untere Schranke Zusammenfassung
A11.2 Zusammenfassung
M. L¨uthi, G. R¨oger (Universit¨at Basel) Algorithmen und Datenstrukturen 18. M¨arz 2020 14 / 15
A11. Sortieren: Untere Schranke Zusammenfassung
Zusammenfassung
I Jedes vergleichsbasierte Sortierverfahren hat mindestens leicht ¨ uberlineare Laufzeit.
M. L¨uthi, G. R¨oger (Universit¨at Basel) Algorithmen und Datenstrukturen 18. M¨arz 2020 15 / 15