Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Laufzeitverhalten beim Sortieren

Ähnliche Präsentationen


Präsentation zum Thema: "Laufzeitverhalten beim Sortieren"—  Präsentation transkript:

1 Laufzeitverhalten beim Sortieren

2 Aber zuerst brauchen wir noch ein paar Grundlagen:

3 Grundlage1: Wie viele Möglichkeiten gibt es, Zahlen in einem Feld der Länge n anzuordnen ?

4 Wir beginnen mit einem Feld der Länge 1. Das Feldelement werde mit
Wir beginnen mit einem Feld der Länge 1. Das Feldelement werde mit ? bezeichnet. Wie viele Möglichkeiten gibt es ?

5 Es gibt genau 1 Möglichkeit: ?

6 Wie viele Möglichkeiten gibt es, Zahlen in einem Feld der Länge 2 anzuordnen ? Wir gehen wieder vom vorigen Feld mit dem Feldelement ? aus und versuchen ein 2. Element einzubauen.

7 ? An welchen Stellen kann das 2. Element eingefügt werden ? hier ?

8 ? oder: wie viele Möglichkeiten gibt es also insgesamt ? hier 2 ?

9 Bei 2 Elemente gibt es also 2 Möglichkeiten.
Wir gehen jetzt wieder von einem beliebigen Feld der Länge 2 aus und und versuchen ein 3. Element einzubauen.

10 ? ? An welchen Stellen kann das 3. Element eingefügt werden ? hier ?

11 ? ? oder: hier ?

12 ? ? ? oder: wie viele Möglichkeiten gibt es also insgesamt ? hier
? ? oder: wie viele Möglichkeiten gibt es also insgesamt ? hier 3 * 2 ?

13 Bei 3 Elemente gibt es also 3*2 Möglichkeiten.
Wir gehen jetzt wieder von einem beliebigen Feld der Länge 3 aus und und versuchen ein 4. Element einzubauen.

14 ? ? ? An welchen Stellen kann das 3. Element eingefügt werden ? hier ?

15 ? ? ? oder: hier ?

16 ? ? ? oder: hier ?

17 ? ? ? ? oder: wie viele Möglichkeiten gibt es also insgesamt ? hier
? ? ? oder: wie viele Möglichkeiten gibt es also insgesamt ? hier 4 * 3 * 2 ?

18 Frage: Wie viele Möglichkeiten gibt es dann bei n Elementen ?

19 Bei n Elementen gibt es also n. = n. (n-1). (n-2). 3. 2
Bei n Elementen gibt es also n!= n*(n-1)*(n-2)*... 3*2*1 Möglichkeiten. Dies wird abgekürzt mit n! und bedeutet n Fakultät.

20 Grundlage 2: Binärbäume

21 Ein Baum besteht aus genau einer Wurzel und (mehreren) Knoten
Ein Baum besteht aus genau einer Wurzel und (mehreren) Knoten. Hat ein Knoten keinen Nachfolger (Kinder), dann ist es ein Blatt. Ein Binärbäum hat maximal 2 Nachfolger. Die Höhe eines Baums ist die Länge des längsten Pfades.

22 Da waren viele unbekannte Begriffe. Deshalb schnell ein Beispiel:

23 K1 Wurzel Die Höhe beträgt 5, weil der Pfad zwischen K1 und K7 aus 5 Knoten besteht. K2 K3 K4 K5 Frage: Aus wie vielen Knoten K6 Blatt K7 Blatt

24 K1 K2 K3 K4 K5 Aus wie vielen Knoten könnte dieser Baum der Höhe 5 maximal bestehen, d.h. wenn jeder Knoten (au0er den Blättern) 2 Nachfolger hätte? K6 K7

25 Welche Knoten und Blätter kann man dem Baum noch hinzufügen ?

26 K1 K2 K3 K4 K5 K6 K7 Aus wie viel Knoten maximal besteht also ein Binärbaum der Höhe h = 5?

27 K1 K2 K3 K4 K5 K6 K7 Anzahl a = = 31

28 K1 K2 K3 K4 K5 K6 K7 Aus wie viel Knoten maximal besteht also ein Binärbaum der Höhe h?

29 K1 K2 K3 K4 K5 K6 K7 Anzahl a = 2h - 1

30 Jetzt haben wir die Grundlagen erarbeitet. Jetzt geht es los!

31 Ein Feld (der Länge n) von Zahlen soll in aufsteigender Reihenfolge durch einen Algorithmus sortiert (geordnet) werden. Beispiel: 23, 17, 45, 13, 33 wird aufsteigend sortiert zu: 13, 17, 23, 33, 45

32 Voraussetzungen des Algorithmus: Er muß vergleichsbasiert sein.
Das bedeutet: Nur vergleiche von jeweils 2 Elementen des Feldes dürfen benutzt werden, um die Ordnung (Sortierung) einer Folge (Feld) zu erhalten.

33 Andere Voraussetzungen dürfen nicht gemacht werden. Z. B
Andere Voraussetzungen dürfen nicht gemacht werden. Z.B. darf nicht vorausgesetzt werden, daß die Folge in einem bestimmten Wertebereich liegt. Beispiel (nicht erlaubte Voraussetzungen): Sortiere 10 ganze Zahlen in aufsteigender Reihenfolge, wobei jede Zahl zwischen 0 und 100 liegt.

34 Wie viele Vergleiche muß man im worst case (schlimmsten Fall) machen, damit man ein Feld mit 3 Elementen sortiert ? Die 3 Elemente werden mit a1, a2, a3 bezeichnet.

35 Weitere Vereinbarungen: {a,b},c bedeutet, daß a und b kleiner als c sind und über die Ordnung von a und b untereinander nichts ausgesagt wird (eine Menge ist unsortiert).

36 i :j < i : j bedeutet: vergleiche das i-te Feldelement mit dem j-ten Feldelement. Wenn Feldelement i kleiner als Feldelement j, mache links weiter. sonst mache rechts weiter.

37 1:2 2:3 1:3 2:3 1:3 a1 a2 a3 a2 a1 a3 a1 a2 a3 a1 a3 a2 a3 a1 a2 a2 a3

38 1:2 2:3 1:3 1:3 2:3 a1 a2 a3 a2 a1 a3 a1 a3 a2 a3 a1 a2 a2 a3 a1 a3 a2
Dieser Entscheidungsbaum stellt eine Folge von Vergleichen eines Algorithmus dar, der eine Folge von 3 Zahlen sortiert. Dieser Baum (Binärbaum, weil jeder Knoten 2 Kinder hat) besteht aus inneren Knoten (blau) und Blättern (rot))

39 1:2 2:3 1:3 1:3 2:3 a1 a2 a3 a2 a1 a3 a1 a3 a2 a3 a1 a2 a2 a3 a1 a3 a2
Irgend ein anderer Sortieralgorithmus kann genauso durch einen Entscheidungsbaum dargestellt werden. Die Folge der internen Knoten kann dazu natürlich ganz anders sein. Aber die Blätter müssen dann wieder jeweils eine sortierte Folge darstellen. Wie viel Blätter muß es für einen Sortieralgorithmus geben, der eine Folge von 3 Elementen sortiert? Warum ?

40 1:2 2:3 1:3 1:3 2:3 a1 a2 a3 a2 a1 a3 a1 a3 a2 a3 a1 a2 a2 a3 a1 a3 a2
Es gibt 3! = 6 verschiedene Möglichkeiten eine Folge von 3 Elementen anzuordnen. Also kann die zu sortierende Ausgangsfolge auf 3! verschiedene Arten angeordnet sein. Da jede dieser n! möglichen Ausgangsfolgen identifiziert und sortiert werden muß, muß für jede ein Pfad zu einem Blatt existieren. Also gibt es 3! verschiedene Blätter bzw. allgemein n! Blätter.

41 Wie viele Vergleiche muß man im worst case (schlimmsten Fall) machen, damit man ein Feld mit n Elementen sortiert ?

42 Die maximale Anzahl a der Vergleiche ist die Länge des längsten Pfades (=Höhe h) im Entscheidungsbaum (Binärbaum).

43 a = 2h - 1 < 2h Außerdem gilt: a ≥ n! also: n! ≤ a < 2h und damit n! < 2h also (ld bedeutet Logarithmus zur Basis 2): h > ld(n!)


Herunterladen ppt "Laufzeitverhalten beim Sortieren"

Ähnliche Präsentationen


Google-Anzeigen