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 15:09] – [Arrays mit zwei oder mehr Elementen] sbel | faecher:informatik:oberstufe:algorithmen:sortieren:quicksort:start [31.01.2022 16:30] – [Arrays mit mehr Elementen] sbel | ||
---|---|---|---|
Zeile 33: | Zeile 33: | ||
Dieses Vorgehen wird jetzt wiederholt bis der Basisfall eintritt. | Dieses Vorgehen wird jetzt wiederholt bis der Basisfall eintritt. | ||
+ | |||
+ | ---- | ||
+ | {{: | ||
+ | === (A1) === | ||
+ | |||
+ | Führe das Verfahren mit Stift und Papier zu Ende, bis du die Schüler nach Körpergröße sortiert hast. | ||
**Frage:** Was ist der Basisfall beim sortieren der Schülergruppen? | **Frage:** Was ist der Basisfall beim sortieren der Schülergruppen? | ||
Zeile 41: | 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 62: | Zeile 68: | ||
{{ : | {{ : | ||
- | Wir gehen vor, wie oben angedacht: Pivotelement wählen (erstes Element des Arrays), partitionieren | + | Wir gehen vor, wie oben angedacht: |
+ | * Pivotelement wählen (erstes Element des Arrays) | ||
+ | * Partitionieren | ||
{{ : | {{ : | ||
+ | Bislang haben wir als Pivotelemet stets einfach das erste Element des Arrays gewählt - tatsächlich ist es zunächst unerheblich, | ||
+ | |||
+ | ---- | ||
+ | {{: | ||
+ | === (A2) === | ||
+ | Untersuche, ob die Auswahl des Pivotelements einen Einfluss auf das Ergebnis des Sortiervorgangs hat, indem du das Verafhren mit jedem der Elemente als Pivotelement durchführst. | ||
+ | |||
+ | Das sortierte Array erhält man anschließend zuverlässig als: | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | |||
+ | <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, | ||
+ | {{ : |