faecher:informatik:oberstufe:algorithmen:sortieren:landau_revisited: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
faecher:informatik:oberstufe:algorithmen:sortieren:landau_revisited:start [31.01.2022 18:59] – [Best Case/Average Case] sbelfaecher:informatik:oberstufe:algorithmen:sortieren:landau_revisited:start [31.01.2024 16:48] (aktuell) – [Quicksort] Marco Kuemmel
Zeile 22: Zeile 22:
 Eine Besonderheit des Quicksort-Algorithmus ist, dass er Aufwand von der Wahl des Pivotelement abhängt.  Eine Besonderheit des Quicksort-Algorithmus ist, dass er Aufwand von der Wahl des Pivotelement abhängt. 
  
-Das hast du vielleicht bei deinen Übungen bereits bemerkt: Wenn man das Element stets sehr ungünstig wählt, gewinnt man bei Aufteilen des Problem kaum etwas, die nach der Partitionierung größte zu sortierende Menge ist im schlechtesten Fall in jedem Rekursionsschritt nur ein Element kleiner als zuvor, wobei die kleinste Menge immer leer ist.+Das hast du vielleicht bei deinen Übungen bereits bemerkt: Wenn man das Element stets sehr ungünstig wählt, gewinnt man beim Aufteilen des Problems kaum etwas. Die nach der Partitionierung größte zu sortierende Menge ist im schlechtesten Fall in jedem Rekursionsschritt nur ein Element kleiner als zuvor, wobei die kleinste Menge immer leer ist.
  
 <WRAP center round info 95%> <WRAP center round info 95%>
Zeile 28: Zeile 28:
 </WRAP> </WRAP>
  
-Aber was bedeutet **Worst Case** und **Avergae Case** genau?+Aber was bedeutet **Worst Case** und **Average Case** genau?
  
 ===== Die Landau Notation im Detail ===== ===== Die Landau Notation im Detail =====
Zeile 119: Zeile 119:
 {{ :faecher:informatik:oberstufe:algorithmen:sortieren:landau_revisited:qsortarray06.drawio.png |}} {{ :faecher:informatik:oberstufe:algorithmen:sortieren:landau_revisited:qsortarray06.drawio.png |}}
  
-Die Größe des Call Stacks ist hier nur 4 -- oder allgemein (analog zur binären Suche) von der Ordnung ''log n''+Die Größe des Call Stacks ist hier nur 4 -- oder allgemein (analog zur binären Suche) von der Ordnung ''log n''. Auch hier gilt natürlich, dass wir auf jeder Ebene des des Call Stacks  alle Elemente betrachten muss um zu partitionieren - unabhängig vom gewählten Pivotelement, also auch hier: Die Bearbeitung jeder Ebene des Call Stacks benötigt den Aufwand O(n).  
 + 
 +Da es aber nur log n Ebenen gibt, ist der Aufwand von Quicksort im Best Case O(n * log n) also O(n log n) 
 + 
 +Wenn du immer ein zufälliges Element des Arrays als Pivotelement auswählst, beträgt die Laufzeit von Quicksort auch im 
 +Durchschnitt O(n log n): Der **Average Case** ist der **Best Case**. 
 +---- 
 +{{:aufgabe.png?nolink  |}} 
 +=== (A2) === 
 + 
 +Welche Laufzeiten haben die folgenden Operationen? Gib die Landau-Notation an und begründe deine Entscheidung kurz. 
 + 
 +   * Ausgabe der Werte aller Elemente in einem Array. 
 +   * Verdoppeln der Werte aller Elemente in einem Array. 
 +   * Verdoppeln des Werts des ersten Elements in einem Array. 
 +   * Erzeugen einer Multiplikationstabelle mit allen Elementen in einem Array. Es soll jedes Array-Element mit jedem anderen multipliziert werden.
  • faecher/informatik/oberstufe/algorithmen/sortieren/landau_revisited/start.txt
  • Zuletzt geändert: 31.01.2024 16:48
  • von Marco Kuemmel