~ Sorteeralgoritmes in c++
» By Joren on Monday 23 April 2007Voor het vak algoritmen hebben we enkele sorteeralgoritmes besproken en in c++ geïmplementeerd. Dit is mijn versie van de algoritmes het gebruikt een interface SortAlgorithm
en het Strategy design pattern om zijn werk te doen.
In principe kan om het even wat gesorteerd worden maar sommige sorteeralgoritmes (Counting Sort) werken enkel met int’s. Om strings te sorteren kan gebruik gemaakt worden van de Nstring klasse.
Elk sorteeralgoritme kan getest en gemeten worden, dit is de uitvoor voor het shell sort algoritme met de Sedgewick incrementen:
Measuring sorting algorithm: Shell Sort: Sedgewick increments
Random Sorted Reversed
128 0 0 0
230 0 0 0
414 0 0 0
745 0 0 0
1341 0 0 0
2413 0 0 0
4343 0 0 0
7817 0 0 0
14070 0.01 0 0
25326 0.01 0 0.01
45586 0.01 0.01 0.01
82054 0.03 0.01 0.02
147697 0.07 0.02 0.03
265854 0.12 0.05 0.06
478537 0.22 0.09 0.12
861366 0.44 0.15 0.22
Hier kan de code gedownload worden: download. Niet alle algoritmes werken even goed dit is een lijst van werkende algoritmes die het wel doen:
- Heap sort
- Selection sort
- Insertion sort
- Counting sort (enkel met int’s)
- Quicksort
- Shell sort met
- Sedgewick incrementen
- Twee incrementen
- veelvouden van drie als incrementen