Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Bubbelsort und Quicksort Vortrag von Rolf Heitzenröder

Ähnliche Präsentationen


Präsentation zum Thema: "Bubbelsort und Quicksort Vortrag von Rolf Heitzenröder"—  Präsentation transkript:

1 Bubbelsort und Quicksort Vortrag von Rolf Heitzenröder
Sortieren von Arrays Bubbelsort und Quicksort Vortrag von Rolf Heitzenröder Vortrag - Rolf Heitzenröder

2 Vortrag - Rolf Heitzenröder
Sortieralgorithmen Wann muß man Arrays sortieren? Die Objekte liegen nicht in der definierten Reihenfolge. Mit was kann man die Objekte sortieren? Mit geeigneten Algorithmen. Wie wird sortiert? In dem die einzelnen Elemente miteinander verglichen und gegebenenfalls ausgetauscht werden. Dies leisten, z.B. die Algorithmen: Bubbelsort und Quicksort Vortrag - Rolf Heitzenröder

3 Vortrag - Rolf Heitzenröder
Bubbelsort Der Bubbelsort beruht auf das fortgesetzte Vergleichen und Austauschen von Paaren nebeneinanderliegender Elemente, bis alle Elemente sortiert sind. Die Methode (der direkten Auswahl) durchläuft das Array mehrmals und läßt jedesmal das kleinste Element der restlichen Menge zum linken Rand des Arrays wandern. Dreht man das Array im Gedanken um 90° mit dem Uhrzeiger- sinn, so erscheinen die Elemente wie Luftblasen (bubbels) aufzusteigen. Vortrag - Rolf Heitzenröder

4 Vortrag - Rolf Heitzenröder
Bubbelsort Zu sortierender Vektor: {15,14, 18, 12, 7, 9, 8, 10, 13, 1} 1.Durchlauf 2.Durchlauf 15 Vergleichen der letzten beiden Elemente. 15 Jetzt wird das nächst höhere Element mit dem Vertauschten geprüft. 14 14 18 18 Ist das vorletzte Element größer als das Letzte, dann wird es mit ihm vertauscht. 12 12 Ist das untere Element ebenfalls wieder kleiner, so wird es wieder mit der Position des vorher- gehenden Elements ge- tauscht. 7 7 9 9 8 8 10 10 13 1 1 13 Vortrag - Rolf Heitzenröder

5 Vortrag - Rolf Heitzenröder
Bubbelsort Nach jedem Druchgang wandert die in unserem Beispiel die 1, immer ein Element nach oben, wie eine Luft- blase. 15 14 18 Danach wird die erste Stelle gemerkt, und eine Reihe weitere Durchläufe wird gestartet. 12 7 9 Bis alle Elemente des Vektors in der richtigen Reihenfolge sich befinden. 8 10 13 1 Vortrag - Rolf Heitzenröder

6 Vortrag - Rolf Heitzenröder
Bubbelsort public static void BubbleSort(double[] a) { double h = 0; for (int i=0; i < a.length; i++) for (int j=a.length-1; j > i; j--) if (a[j-1] > a[j]) h = a[j-1]; a[j-1] = a[j]; a[j] = h; } } } Vortrag - Rolf Heitzenröder

7 Vortrag - Rolf Heitzenröder
Quicksort Erfinder C. A. R. Hoare Quicksort entfaltet seine Leistungsfähigkeit in dem Austausch über größere Distanzen. Der Algrith. Zerlegt (Partitioniert) das Array zuerst in zwei Intervalle. Das rechte, wie das linke Intervall beginnen jeweils am rechten bzw. linken Rand des Array. Nach jeden Vergleich und Austausch werden die beiden Intervalle um ein Element erhöht bzw. erniedrigt. Nach einen Durchlauf werden die beiden Intervalle rekursiv mit Quicksort weiter behandelt und damit wieder unterteilt. Bis die Intervalle nur noch ein Element enthalten. Vortrag - Rolf Heitzenröder

8 Vortrag - Rolf Heitzenröder
Quicksort public static void QuickSort(double[] v) { QuickSort(v, 0, v.length); } public static void QuickSort(double[] a, int l, int r) { int i = 0; int j = 0; double x = 0; double h = 0; i = l; j = r-1; x = a[(l+r)/2]; Vortrag - Rolf Heitzenröder

9 Vortrag - Rolf Heitzenröder
Quicksort do { while (a[i] < x) { i++; } while (x < a[j]) { j--; } if (i <= j) { h = a[i]; a[i] = a[j]; a[j] = h; i++; j--; } } while (i <= j); if (l < j) QuickSort(a, l, j); if (i < r) QuickSort(a, i, r); Vortrag - Rolf Heitzenröder


Herunterladen ppt "Bubbelsort und Quicksort Vortrag von Rolf Heitzenröder"

Ähnliche Präsentationen


Google-Anzeigen