Selection- vs Insertion Sort ____ Vorteile/Nachteile?
Hallo,
ich würde gerne eine Applikation für ein privates Projekt programmieren und brauche für ein Sortierverfahren eine Methode. Nach ein wenig Recherche bin ich auf den Selection- u. Insertion Sort gestoßen.
Was sind die Vor- Nachteile der jeweiligen Swap Methoden? Bräuchte eine zweite Meinung...
4 Antworten
Es kommt halt auf den Fall den du Sortieren möchtest an. (Weitestgehend vorsortiert?, wenig RAM? etc.) Im Allgemein sind das beides meist eher langsame Algorithmen. Dafür einfach zu implementieren. Geschwindigkeit wird in den meist Fällen gleich sein. Wenn du was schnelleres suchst kannst du dir mal Heap Sort oder Quicksort anschauen.
Selection Sort ist immer langsam. Insertion-Sort kann schnell sein, wenn das allermeiste bereits sortiert ist. Meistens fährst du in der Praxis mit den bereits in Bibliotheken vorhandenen Sortierverfahren besser.
Wenn deine Daten in einem Array meinArray vorliegen:
import java.util.Arrays;
...
Arrays.sort(meinArray);
Das funktioniert.
Nachteil: Du hast es nicht selbst gemacht und lernst nichts dabei.
Guckst du hier:
https://www.geeksforgeeks.org/arrays-sort-in-java-with-examples/
nimm doch einfach ein schon vorsortiertes objekt. beispielsweise eine tree map oder so und wenn es ein custom type ist kann du für den einfach das comperator interface implementieren oder die compare to methode
Das sind zwei sehr simple Algorithmen. Wenn du wirklich was schnelles willst, könntest du den Heap Sort oder einen Radix Sort verwenden.
Wie wärs mit Quicksort?