Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (24 – Sortieren vorsortierter Daten) Prof. Th. Ottmann.

Ähnliche Präsentationen


Präsentation zum Thema: "1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (24 – Sortieren vorsortierter Daten) Prof. Th. Ottmann."—  Präsentation transkript:

1 1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (24 – Sortieren vorsortierter Daten) Prof. Th. Ottmann

2 2 Untere Schranke für allgemeine Sortierverfahren Satz Zum Sortieren einer Folge von n Schlüsseln mit einem allgemeinen Sortierverfahren sind im Worst-case ebenso wie im Mittel wenigstens Vergleichsoperationen zwischen zwei Schlüsseln erforderlich. Modellierung von allgemeinen Sortierverfahren: Mit Hilfe von Entscheidungsbäumen.

3 3 Entscheidungsbäume Für jede der n! Permutationen ein Blatt Innere Knoten repräsentieren eine Vergleichsoperation und haben zwei Söhne Weg W von der Wurzel zu einem Blatt v : Die Vergleiche an den Knoten von W identifizieren die Permutation von v, entsprechen den von A durchgeführten Vergleichen, falls die Eingabe ist Beispiel: Sortieren durch Einfügen für Folge F = von 4 Schlüsseln Gegeben ein allgemeines Sortierverfahren A: Entscheidungsbaum T A,n zur Modellierung des Ablaufs von A auf Folgen der Länge n enthält:

4 4 1:2 1:3 2:4 2:3 3241 43213421 3:4 1:4 3214 3:4 2341 42312431 2:4 1:4 2314 1:4 2143 42132413 2:4 3:4 2134 2:3 1:4 1:3 3142 43123412 3:4 2:4 3124 3:4 1342 41321432 1:4 2:4 1324 2:4 1243 41231423 1:4 3:4 1234 Beispiel eines Entscheidungsbaums

5 5 Vorsortierungsmaß, Inversionszahl Spezielle Eingaben treten häufiger auf, Daten sind vorsortiert Vorsortierungsmaße für eine Folge F Anzahl der Inversionen Beispiel: 15 2 43 17 4 8 47 Beispiel: n/2+1,…,n,1,…,n/2 F aufsteigend sortiert: F absteigend sortiert: inv mißt die globale Vorsortierung

6 6 Anzahl aufsteigend sortierter Teilfolgen = Anzahl aufsteigend sortierter Teilfolgen Beispiel: F: 15 2 43 17 4 8 47 F aufsteigend sortiert: F absteigend sortiert: runs mißt die lokale Vorsortierung

7 7 Längste aufsteigende Teilfolge las(F) = Länge der longest ascending sub-sequence(F) = Beispiel: F : 15, 2, 43, 17, 4, 8, 47 las(F)= rem(F) = n – las(F) F aufsteigend: rem(F) = 0 absteigend: rem(F) = n - 1

8 8 Optimale Nutzung der Vorsortierung Gegeben sei ein Vorsortierungsmaß m Frage: Was ist ein m -optimales, allgemeines Sortierverfahren? Ziel: Für jeden Wert m 0 von m soll nur die für Folgen dieses Vorsortiertheitsgrades nötige Schrittzahl verwendet werden. Untere Schranke für Anzahl der nötigen Schlüsselvergleiche ? Anzahl der Blätter im Entscheidungsbaum mit

9 9 Optimale Nutzung der Vorsortierung Definition: Ein Sortierverfahren A heißt m -optimal, falls es eine Konstante c gibt, so dass für alle n und alle Folgen F mit Länge n die Zeit T A (F) zum Sortieren von F mit A wie folgt beschränkt ist:

10 10 Adaptives Sortieren Nutzung von Bruder Bäumen zur Implementation von A-Sort (Adaptives Sortieren zum Sortieren vorsortierter Daten).


Herunterladen ppt "1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (24 – Sortieren vorsortierter Daten) Prof. Th. Ottmann."

Ähnliche Präsentationen


Google-Anzeigen