Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung Nächste ÜberarbeitungBeide Seiten, nächste Überarbeitung | ||
faecher:informatik:oberstufe:algorithmen:sortieren:quicksort:start [27.01.2022 14:47] – sbel | faecher:informatik:oberstufe:algorithmen:sortieren:quicksort:start [27.01.2022 15:09] – [Arrays mit zwei oder mehr Elementen] sbel | ||
---|---|---|---|
Zeile 24: | Zeile 24: | ||
Das Pivotelement scheidet jetzt aus dem Verfahren aus, es bleibt an dem Platz, an dem es sich jetzt befindet. Jetzt haben wir zwei " | Das Pivotelement scheidet jetzt aus dem Verfahren aus, es bleibt an dem Platz, an dem es sich jetzt befindet. Jetzt haben wir zwei " | ||
+ | |||
+ | {{ : | ||
In den beiden Teilmengen verfährt man jetzt wie gerade in der Ausgangsmenge: | In den beiden Teilmengen verfährt man jetzt wie gerade in der Ausgangsmenge: | ||
Zeile 38: | Zeile 40: | ||
===== Quicksort ===== | ===== Quicksort ===== | ||
+ | |||
+ | ==== Leere Arrays und solche mit nur einem Element ==== | ||
+ | |||
+ | Wir legen den Basisfall zugrunde: Wenn unser Array leer ist oder nur ein Element hat, ist es sortiert und kann direkt als sortiertes Array zurückgegeben werden: | ||
+ | |||
+ | <code java> | ||
+ | public ArrayList< | ||
+ | | ||
+ | | ||
+ | } | ||
+ | [...] | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ==== Arrays mit zwei oder mehr Elementen ==== | ||
+ | |||
+ | Arrays mit **zwei Elementen** sind ebenfalls einfach zu bearbeiten: Man muss lediglich die beiden Elemente vergleichen und wenn nötig vertauschen, | ||
+ | |||
+ | Spannend wird es, wenn das Array drei Elemente hat: | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Wir egehen vor, wie oben angedacht: Pivotelement wählen (erstes Element des Arrays), partitionieren in //Elemente kleiner als Privot//, //Pivot// und //Elemente größer/ | ||
+ | |||
+ | {{ : | ||
+ | |||