Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Algorithmen und Datenstrukturen

Ähnliche Präsentationen


Präsentation zum Thema: "Algorithmen und Datenstrukturen"—  Präsentation transkript:

1 Algorithmen und Datenstrukturen
Dipl. Inform. Andreas Wilkens

2 Sortieralgorithmen Um die Datensätze eines Datenbestands in eine aufsteigend oder absteigend sortierte Reihenfolge zu bringen, wurden eine Reihe von verschiedenen Verfahren entwickelt. Die Wichtigsten werden im Folgenden dargestellt.

3 Sortieralgorithmen Selection Sort Bubble Sort Insertion Sort
Quick Sort

4 Selection Sort Sortieren durch direktes auswählen. Verfahren
Finde das kleinste Element im Datenbestand und tausche es mit dem Element an Position 1. Finde das zweit-kleinste Element und tausche es mit Pos. 2. Finde des dritt-kleinste Element und tausche es mit Pos. 3. usw.

5 Selection Sort

6 Sortieralgorithmen Selection Sort Bubble Sort Insertion Sort
Quick Sort

7 Bubble Sort Durchlaufe immer wieder die zu sortierenden Daten und betrachte benachbarte Elemente. Steht ein größeres Datum vor einem kleineren, so vertausche beide miteinander. Dies wird solange wiederholt, bis bei einem Durchlauf keine Vertauschung mehr erforderlich war.

8 Bubble Sort

9 Sortieralgorithmen Selection Sort Bubble Sort Insertion Sort
Quick Sort

10 Insertion Sort Insertion-Sort funktioniert wie das Einsortieren von Spielkarten von einem Stapel in die Hand. Man nimmt einfach Karte für Karte vom Stapel und sortiert sie ein, indem man den Kartenwert mit allen schon in der Hand befindlichen Karten (von rechts nach links) vergleicht.

11 Insertion Sort

12 Sortieralgorithmen Selection Sort Bubble Sort Insertion Sort
Quick Sort

13 Quick Sort Einer der am häufigsten verwendeten Sortieralgorithmen ist Quick Sort. Die eigentliche Idee stammt aus dem Jahr 1960 von C.A.R. Hoare.

14 Quick Sort Die Idee zu Quick Sort kam bei einem Projekt zur mechanischer Übersetzung Russisch -> Englisch Wörter auf Magnetband gespeichert, schnellerer Zugriff -> Sortierung Hoare hält autmat. Übersetzung für unpraktisch: Nebenprodukt Quick Sort Quick Sort ist ein „Abfallprodukt“

15 Quick Sort Quick Sort arbeitet nach dem “Teile und Herrsche“ Prinzip.
Ein Feld wird dabei in zwei Teile zerlegt, die dann unabhängig voneinander sortiert werden.

16 Quick Sort Es wird ein Element T ausgewählt, welches durch die Funktion partition() an die richtige Stelle in der sortierten Reihenfolge gesetzt wird. Gleichzeitig sorgt partition() dafür, dass links von T nur kleinere (gleiche) und rechts nur größere (gleiche) Elemente stehen. (Diese Bereiche sind noch nicht sortiert!) Anschließend wird die Prozedur jeweils auf das linke und rechte Teilfeld angewendet.

17 Quick Sort

18 Quick Sort Die Schwierigkeit besteht nun in der Zerlegung des Feldes.  Funktion partition(…) Dabei muß eine Umordnung des Feldes vorgenommen werden, so daß folgende Bedingungen erfüllt sind: Das Element array[p] befindet sich am richtigen Index p im Feld. Alle Elemente array[0] bis array[p-1] sind kleiner oder gleich als array[p]. Alle Elemente array[p+1] bis array[n-1] sind größer oder gleich als array[p].

19 Quick Sort Zu Beginn wähle man zwei Indizes i=l+1 und j=r und das erste Element im Feld als Vergleichswert key=array[l]. In einer Schleife erhöhe man i bis das Feldelement array[i]>key ist. Dieses Feldelement gehört in die rechte Hälfte des Feldes. Alle Elemente der rechten Hälfte sollen größer key sein. In einer Schleife verringere man j bis das Feldelement array[j]<key ist. Dieses Feldelement gehört in die linke Hälfte des Feldes. Alle Elemente der linken Hälfte sollen kleiner key sein. Sollte i>=j sein beende die Schleife. (Gehe zu 7.) Man vertausche die Elemente array[i] und array[j]. Wiederhole alles ab Punkt 2. Zum Schluß vertausche man das erste Element im Feld (key) mit array[j]. Damit sind alle obigen Bedingungen erfüllt.


Herunterladen ppt "Algorithmen und Datenstrukturen"

Ähnliche Präsentationen


Google-Anzeigen