Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
faecher:informatik:oberstufe:algorithmen:sorting:mergesort:start [13.02.2025 07:19] – Frank Schiebel | faecher:informatik:oberstufe:algorithmen:sorting:mergesort:start [13.02.2025 07:22] (aktuell) – Frank Schiebel | ||
---|---|---|---|
Zeile 216: | Zeile 216: | ||
int mitte = a.length/2; | int mitte = a.length/2; | ||
+ | // Dieser Schritt ist aufwändig! | ||
+ | // Man muss Arrays erzeugen und alle Elemente | ||
+ | // in die neuen Teilarrays hineinkopieren. | ||
+ | // das ist O(n) bei jedem Aufruf :( | ||
String[] ta1 = new String[mitte]; | String[] ta1 = new String[mitte]; | ||
String[] ta2 = new String[a.length-mitte]; | String[] ta2 = new String[a.length-mitte]; | ||
Zeile 235: | Zeile 239: | ||
Wir befassen uns zunächst nochmal mit dem Merge-Vorgang und implementieren mit unseren Kenntnissen vom ersten Versuch die Methode | Wir befassen uns zunächst nochmal mit dem Merge-Vorgang und implementieren mit unseren Kenntnissen vom ersten Versuch die Methode | ||
+ | <code java> | ||
public void merge(String[] a, String[] speicher, int min, int mitte, int max) | public void merge(String[] a, String[] speicher, int min, int mitte, int max) | ||
- | | + | </ |
in der Klasse '' | in der Klasse '' | ||