• Keine Ergebnisse gefunden

A11.1UntereSchrankeanerforderlicheVergleichsoperationenA11.2Zusammenfassung A11.1UntereSchrankeanerforderlicheVergleichsoperationen AlgorithmenundDatenstrukturen AlgorithmenundDatenstrukturen InhaltdieserVeranstaltung

N/A
N/A
Protected

Academic year: 2022

Aktie "A11.1UntereSchrankeanerforderlicheVergleichsoperationenA11.2Zusammenfassung A11.1UntereSchrankeanerforderlicheVergleichsoperationen AlgorithmenundDatenstrukturen AlgorithmenundDatenstrukturen InhaltdieserVeranstaltung"

Copied!
4
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

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

(2)

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

(3)

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

(4)

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 )

n2

4! = 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

Referenzen

ÄHNLICHE DOKUMENTE

I Insertionsort betrachtet die Elemente von vorne nach hinten und sortiert sie in den bereits sortierten Bereich am.

A5.1 Laufzeitanalyse Allgemein A5.2 Beispiel: Selectionsort A5.3 Zusammenfassung.. R¨ oger (Universit¨ at Basel) Algorithmen und

I In der Analyse von Mergesort werden wir eine Logarithmusfunktion verwendet. I Dies ist bei der Analyse von Laufzeiten oft

→ doppelt so grosse Eingabe, etwas mehr als doppelt so lange Laufzeit Was bedeutet das in der PraxisM. I Annahme: c = 1, eine Operation dauert im Schnitt 10

I Beispiel: GTA online hatte viele Jahre eine Ladezeit von mehreren Minuten. I mehrere Minuten zum Parsen von 10

Beispiel: pos0 7→ pos2, pos1 7→ pos1, pos2 7→ pos0 Da alle m¨ oglichen Eingaben der Gr¨ osse n korrekt gel¨ osst werden m¨ ussen, muss der Algorithmus alle n. m¨

Sortieren: Quicksort, Countingsort, Radixsort Nicht vergleichsbasierte Verfahren. A12.3 Nicht

I Insertionsort ist auf kleinen Sequenzen sehr schnell und wird daher zum Beispiel zur Verbesserung von Mergesort und Quicksort f¨ ur kurze Aufrufe eingesetzt.. I Quicksort hat