Erstellen einfacher Programme
2. Algorithmen (9b)
Sortieralgorithmen
- 2. Sortieren durch Auswahl - Teil b
Unsortierte Liste:
Hinweis: Das momentan kleinste Element ist rot, das Vergleichselement grün dargestellt.
1. Durchlauf:
Vergleichen 20 < 90 -> Austausch:
Nächstes Element der Liste:
Vergleichen 12 < 20 -> Austausch:
Nächstes Element der Liste:
Vergleichen 12 < 72 kein Austausch,
nächstes Element der Liste:
Vergleichen 2 < 12 -> Austausch:
Nächstes Element der Liste:
Vergleichen 2 < 51 kein Austausch,
nächstes Element der Liste:
Vergleichen 2 < 47 kein Austausch,
nächstes Element der Liste:
Vergleichen 2 < 80 kein Austausch.
Nach dem ersten Durchlauf steht das kleinste Element auf Platz 1. Der zweite Durchlauf erfolgt damit ab Platz 2 in derselben Weise:
2. Durchlauf:
Vergleichen 20 < 90 -> Austausch,
nächstes Element der Liste:
Vergleichen 20 < 72 kein Austausch,
nächstes Element der Liste:
Vergleichen 12 < 20 -> Austausch,
nächstes Element der Liste:
usw.
3. Durchlauf:
| 2 |
12 |
90 |
72 |
20 |
51 |
47 |
80 |
| 2 |
12 |
72 |
90 |
20 |
51 |
47 |
80 |
| 2 |
12 |
20 |
90 |
72 |
51 |
47 |
80 |
| 2 |
12 |
20 |
90 |
72 |
51 |
47 |
80 |
| 2 |
12 |
20 |
90 |
72 |
51 |
47 |
80 |
Nach 4. Durchlauf:
Nach 5. Durchlauf:
Nach 6. Durchlauf:
Nach 7. Durchlauf:
Da das letzte Element das größte sein muss und ein weiterer Vergleich nicht mehr möglich ist, gibt es keinen weiteren Durchlauf. Die Liste ist sortiert.
Sortierte Liste:
Unabhängig vom bereits sortierten Zustand einer Liste mit n Elementen ist immer dieselbe Anzahl von Vergleichen erforderlich.
Bestimmung der Anzahl der Vergleiche:
Es sind (n - 1) Durchläufe nötig. Beim ersten Durchlauf muss der erste Platz mit (n - 1) weiteren verglichen werden, beim zweiten Durchlauf der zweite Platz mit (n - 2) weiteren usw. Die Anzahl der Vergleiche summiert sich also in der Form 1 + 2 + 3 + ... + (n - 2) + (n - 1) = n(n - 1)/2.
Die Anzahl der Austausch-Operationen hängt von der Anfangssortierung ab. Im ungünstigsten Fall ist sie gleich der Zahl der Vergleiche.
Der Aufwand ist also quadratisch zur Anzahl der Elemente. O(n²)
[Struktogramm] zu diesem Sortieralgorithmus.
[Index]
[Zurück/Sortieren 2a]
[Fortsetzung/Sortieren 3]
Autor: Jürgen Dehmer
Letzte Änderung: 28. April 2001