Sortierverfahren und zufallszahlen3. Sortierverfahren
Vergleichsbasierte Sortierverfahren
(Wichtigsten)
Vergleichsbasierte Sortierverfahren
(Weitere)
Nichtvergleichsbasierte Sortierverfahren
Sortierverfahren Vergleich von Sortierverfahren Zufallszahl
4. Vergleichsbasierte Sortierverfahren
(Wichtigsten)
Geschwindkeit (günstigster,
Algorithmus durchsschn., schlechtester Platzbedarf Stabil?
Fall)
Bogosort O(n), O(nn!), unendlich in situ Nein
Selectionsort O(n2), O(n2), O(n2) in situ Ja
Insertionsort O(n), O(n2), O(n2) in situ Ja
Bubblesort O(n), O(n2), O(n2) in situ
Quicksort O(n log n), O(n log n), O(n2) in situ Nein
Mergesort O(n log n), O(n log n), O(n log n) O(n) Ja
Heapsort O(n), O(n log n), O(n log n) in situ Nein
Introsort O(n log n), O(n log n), O(n log n) in situ Nein
Sortierverfahren Vergleich von Sortierverfahren Zufallszahl
5. Vergleichsbasierte Sortierverfahren
(Weitere)
Binary Tree Sort
Combsort
Gnomesort
Merge Insertion
Natural Mergesort
Shakersort
Shellsort
Slowsort
Smoothsort
Stoogesort
Swap-Sort
Sortierverfahren Vergleich von Sortierverfahren Zufallszahl
6. Nichtvergleichsbasierte
Sortierverfahren
Bucketsort
Countingsort
Radixsort
Sortierverfahren Vergleich von Sortierverfahren Zufallszahl
7. Vergleich von Sortierverfahren
Wirkungsweise
Zeitaufwand (unsortiert)
Zeitaufwand (vorsortiert)
Sortierverfahren Vergleich von Sortierverfahren Zufallszahl
9. Zeitaufwand (unsortiert)
Die Ergebnisse in Sekunden der Laufzeitmessung auf einem
450-MHz
Pentium-II-PC sind - bei unsortierten Daten:
n=10000 n=20000 n=30000 n=40000
Bubble 1,7 6,7 14,7 26,1
Selection 0,8 3,1 7,1 12,6
Insertion 0,4 1,25 2,9 6,7
Sortierverfahren Vergleich von Sortierverfahren Zufallszahl
10. Zeitaufwand (vorsortiert)
... und bei vorsortierten Daten:
n=10000 n=20000 n=30000 n=40000
Bubble 0 0 0 0
Selection 0,75 3,1 7,1 12,6
Insertion 0 0 0 0
Sortierverfahren Vergleich von Sortierverfahren Zufallszahl
12. Hauptbefehl
wird mit „rand()“ (random) und „srand()“
(start random) gelöst aus „stdlib.h“
„srand()“ = Start:
srand(/*Startzahl hier eingeben*/)
„rand()“ für eigentliche „Zufallsgenerierung“
Sortierverfahren Vergleich von Sortierverfahren Zufallszahl
14. Zahlen von bis
durch Modulo bewirken und 1 addieren
Sortierverfahren Vergleich von Sortierverfahren Zufallszahl