faecher:informatik:oberstufe:algorithmen:sortieren:quicksort:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

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] sbelfaecher:informatik:oberstufe:algorithmen:sortieren:quicksort:start [31.01.2022 16:22] – [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.
 +
 +----
 +{{:aufgabe.png?nolink  |}}
 +=== (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? Wann kannst du also direkt ohne weitere Überlegung eine sortierte Schülergruppe zurückgeben? **Frage:** Was ist der Basisfall beim sortieren der Schülergruppen? Wann kannst du also direkt ohne weitere Überlegung eine sortierte Schülergruppe zurückgeben?
Zeile 41: Zeile 47:
 ===== Quicksort ===== ===== Quicksort =====
  
-==== Leere Arrays und solche mit nur einem Element ====+==== Leere Arrays, Arrays mit einem oder zwei 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: 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:
 {{ :faecher:informatik:oberstufe:algorithmen:sortieren:quicksort:qsortarray01.drawio.png |}} {{ :faecher:informatik:oberstufe:algorithmen:sortieren:quicksort:qsortarray01.drawio.png |}}
  
-Wir egehen vor, wie oben angedacht: Pivotelement wählen (erstes Element des Arrays), partitionieren in //Elemente kleiner als Privot//, //Pivot// und //Elemente größer/gleich Pivot//:+Wir gehen vor, wie oben angedacht:  
 +  * Pivotelement wählen (erstes Element des Arrays) 
 +  * Partitionieren in //Elemente kleiner als Privot//, //Pivot// und //Elemente größer/gleich Pivot//:
  
 {{ :faecher:informatik:oberstufe:algorithmen:sortieren:quicksort:partition01.drawio.png |}} {{ :faecher:informatik:oberstufe:algorithmen:sortieren:quicksort:partition01.drawio.png |}}
  
 +Bislang haben wir als Pivotelemet stets einfach das erste Element des Arrays gewählt - tatsächlich ist es zunächst unerheblich, welches der Elemente man dazu heranzieht.
 +
 +----
 +{{:aufgabe.png?nolink  |}}
 +=== (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:
 +
 +{{ :faecher:informatik:oberstufe:algorithmen:sortieren:quicksort:sorted.drawio.png |}}
 +
 +
 +<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**.
 +</WRAP>
 +
 +==== Arrays mit mehr Elementen ====
 +
 +
 +Betrachten wir nun ein Array mit 4 Elementen: 
  
 +{{ :faecher:informatik:oberstufe:algorithmen:sortieren:quicksort:qsortarray02.drawio.png |}}
  • faecher/informatik/oberstufe/algorithmen/sortieren/quicksort/start.txt
  • Zuletzt geändert: 24.01.2024 16:34
  • von Marco Kuemmel