Heute haben wir im Modul “Algorithmen und Datenstrukturen” die Sortierungsalgorithmen insertion sort und selection sort angeschaut und verglichen. Bei dem selection sort geht man das Array durch und sucht nach einem grössten Element. Einmal gefunden, wird es hinten hingesetzt. Danach wird das zweitgrösste Element gesucht und vor das grösste Element gesetzt. Bei dem insertion sort hingegen setzt man beim durchgehen des arrays das element jeweils gleich an die richtige stelle des bereits sortierten Teils des Arrays.
Wenn man die beiden Algorithmen vergleicht stellt man fest, dass der insertion sort in den ersten zwei Durchläufen um etwa den Faktor 5.3 schneller ist. Nach dem zweiten Durchlauf kommt die interne Optimierung von Java zum Zug und beide Algorithmen werden schneller. Dadurch fällt der Faktor auf 1.5 bis 1.4. Vergleicht man jedoch die beiden Algorithmen mit dem von Java – Arrays.sort() - stellt man fest, das der Java interne noch um einiges schneller ist.



