Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Hludwig Kersting Geändert vor über 10 Jahren
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).
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.