Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige ÜberarbeitungVorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
lesson:first [2023/08/13 07:50] – [Was ist Informatik eigentlich?] mccab99lesson:first [2023/08/27 13:44] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 199: Zeile 199:
   - Schreibe die Abfolge der Durchläufe in der kurzen Schreibweise für diese Zahlenreihe auf.   - Schreibe die Abfolge der Durchläufe in der kurzen Schreibweise für diese Zahlenreihe auf.
   - Vergleiche zwischendurch immer mal wieder mit den Lösungen deiner Nachbarn.   - Vergleiche zwischendurch immer mal wieder mit den Lösungen deiner Nachbarn.
 +  - [[loesung:bubblesort|Lösung]]
 </WRAP> </WRAP>
  
Zeile 210: Zeile 211:
   * Was sagt dein Gefühl über die Anzahl der Vergleiche, die für die Sortierung benötigt werden, im Unterschied zu Bubblesort?   * Was sagt dein Gefühl über die Anzahl der Vergleiche, die für die Sortierung benötigt werden, im Unterschied zu Bubblesort?
  
 +++++Auflösung |
 +
 +Das Aufwändige für einen Rechner sind Vergleiche. Im Prinzip muss man für einen Vergleich eine Subtraktion durchführen und dann zwei Fälle unterscheiden:
 +  - Ist das Ergebnis 0, dann sind die Zahlen gleich
 +  - Ist das Ergebnis von 0 verschieden, dann sind die Zahlen nicht gleich
 +
 +Ein Tausch von Zahlen ist dagegen vergleichweise einfach - es wird intern nur ein Zeiger umgestellt. [[loesung:bubblesort|Bei Bubblesort hast du gesehen]], dass für die gegebene Zahlenreihe 40 Vergleiche notwendig sind, um den Algorithmus abzuschließen. 
 +
 +Quicksort ist etwas schwieriger syntaktisch aufzuschreiben, aber wir schauen mal.
 +  * das aktuelle Pivotelement ist **fett** formatiert.
 +  * eine unterstrichene Zahl ist ein Zahl, die mit dem Pivot-Element verglichen wurde
 +  * die Anzahl der unterstrichenen Zahlen ist also die Gesamtzahl der Vergleiche im aktuellen Durchgang
 +
 +**Durchgang 1 - 6 ist Pivotelement:**\\
 +__3__ __7__ 1 8 2 5 9 __4__ **6**\\
 +3 //4// 1 8 2 5 9 //7// **6** ( 4 und 7 wurden getauscht)\\
 +3 4 __1__ __8__ 2 __5__ __9__ 7 **6**\\
 +3 4 1 //5// 2 //8// 9 7 **6**( 5 und 8 wurden getauscht)\\
 +[ 3 4 1 5 2 ] //6// [ 9 7 //8// ] ( 6 und 8 wurden getauscht, Vergleich war unnötig, die 6 muss die kleinste Zahl sein)\\
 +
 +Wir haben in diesem ersten Durchgang insgesamt 7x Zahlen miteinander verglichen. Die 6 liegt jetzt schon auf ihrer Endposition. 
 +
 +Wir werden weiterhin ...
 +  * für das Pivot-Element **2** 3x vergleichen müssen
 +  * für das Pivot-Element **4** 2x vergleichen müssen
 +  * für das Pivot-Element **8** 1x vergleichen müssen
 +
 +Wir kommen also mit 13 Vergleichen aus. Quicksort ist um Größenordnungen effizienter als Bubblesort. Bei einer bereits sortierten Liste (Best-Case) bringt Quicksort keinen Nachteil gegenüber Bubblesort.  
 +++++
 ===== Ja, und was ist jetzt mit Informatik? ===== ===== Ja, und was ist jetzt mit Informatik? =====
 Für eine ganz präzise Formulierung ist es jetzt noch zu früh, aber du hast unglaublich wichtige Grundprinzipien eines //Teilbereichs der Informatik// (algorithmisches Problemlösen) kennen gelernt: Für eine ganz präzise Formulierung ist es jetzt noch zu früh, aber du hast unglaublich wichtige Grundprinzipien eines //Teilbereichs der Informatik// (algorithmisches Problemlösen) kennen gelernt:
Nach oben