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 [31.01.2022 16:13] – [Arrays mit zwei oder mehr Elementen] sbel | faecher:informatik:oberstufe:algorithmen:sortieren:quicksort:start [31.01.2022 16:39] – [Arrays mit mehr Elementen] sbel | ||
---|---|---|---|
Zeile 47: | Zeile 47: | ||
===== Quicksort ===== | ===== Quicksort ===== | ||
- | ==== Leere Arrays | + | ==== Leere Arrays, Arrays |
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: | 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: | ||
Zeile 86: | Zeile 86: | ||
+ | <WRAP center round tip 95%> | ||
+ | Wir können also Arrays mit (bis zu) 3 Elementen auf diese Weise sortieren. Dabei spielt es **keine Rolle, welches Element man als Pivotelement wählt**. | ||
+ | </ | ||
+ | |||
+ | ==== Arrays mit mehr Elementen ==== | ||
+ | |||
+ | |||
+ | Betrachten wir nun ein Array mit **4 Elementen**: | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Gleichgültig, | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Das längste dabei auftretende " | ||
+ | |||
+ | Diese Überlegung gilt nun analog für alle längeren Arrays: Nach der Partitionierung eines Arrays der Länge 5 hat das längste Unterarray die Länge 4. Wir wissen aber, dass wir ein Array der Länge 4 sortieren können (s.o.). Ein Array der Länge 6 hat nach der Partitionierung Unterarrays, | ||
+ | |||
+ | <WRAP center round tip 95%> | ||
+ | Es ist also möglich, Arrays mit beliebig vielen Elementen auf diese Weise sortieren. Dabei spielt es **keine Rolle, welches Element man als Pivotelement wählt**. Dieses Sortierverfahren heißt **Quicksort**. | ||
+ | </ | ||
+ | ==== Quicksort: Pseudocode ==== | ||
+ | |||
+ | |||
+ | |||
+ | < | ||