Algorithmen, Sortierverfahren & Effizienz (O-Notation)
In der AP2 (FIAE) sind Algorithmen der absolute Dreh- und Angelpunkt: Vergleich von Sortierverfahren, Binärer Suche, Rekursion und deren mathematischer Laufzeitkomplexität.
Was bedeutet die O-Notation in der Prüfung?
Die O-Notation (Landau-Symbol) beschreibt, wie stark die Laufzeit oder der Speicherbedarf wächst,
wenn die Datenmenge n größer wird. Sie misst keine Sekunden, sondern die Anzahl der Rechenschritte.
arr[5]).Alle Prüfungs-Algorithmen im Laufzeit-Vergleich
AP2 Pflichtwissen| Algorithmus | Best Case | Average Case | Worst Case | In-Place? | Stabilität? | Wann einsetzen? |
|---|---|---|---|---|---|---|
| Lineare Suche | O(1) | O(n) | O(n) | Ja | – | Unsortierte Daten; kleine Arrays. |
| Binäre Suche | O(1) | O(log n) | O(log n) | Ja | – | Zwingend sortiertes Array! Bei 1 Mio. Werten max. 20 Schritte. |
| Bubble Sort | O(n)* | O(n²) | O(n²) | Ja | Stabil | Lehrzwecke; *Best-Case O(n) nur mit getauscht-Flag! |
| Selection Sort | O(n²) | O(n²) | O(n²) | Ja | Instabil | Minimale Tausch-Anzahl (exakt n Tausche); z.B. bei teurem Flash-Speicher. |
| Insertion Sort | O(n) | O(n²) | O(n²) | Ja | Stabil | Hervorragend für bereits fast sortierte Daten oder Online-Streams. |
| QuickSort | O(n log n) | O(n log n) | O(n²) | Ja | Instabil | In der Praxis meist der schnellste Allrounder (Divide & Conquer). |
Die 5 FIAE-Sortier- und Suchverfahren im Detail
Schlage das Buch in der Mitte auf. Ist der gesuchte Name weiter vorne, wirfst du die gesamte rechte Buchhälfte weg. Bei jedem Schritt halbiert sich die Arbeit!
Wie beim Sortieren von Spielkarten auf der Hand: Du nimmst die nächste Karte, schaust von rechts nach links durch die bereits sortierten Karten und schiebst sie an die passende Stelle.
Suche das absolute Minimum im gesamten Rest des Arrays. Wenn du es gefunden hast, tausche es mit dem Element ganz links. Wiederhole das für Position 1, 2, ...
Wähle ein Vergleichselement (Pivot). Sortiere alle kleineren Zahlen nach links und alle größeren nach rechts. Wende dasselbe rekursiv auf die linke und rechte Hälfte an.
Rekursion & der Call-Stack (Was passiert im RAM?)
Jedes Mal, wenn eine Funktion sich selbst aufruft, reserviert das Betriebssystem einen neuen Stack Frame im Arbeitsspeicher für die lokalen Variablen. Fehlt die Abbruchbedingung (Basisfall), wächst der Stack unendlich, bis der Speicher voll ist: der berüchtigte Stack Overflow!
Speicher & Zeiger (Visualisierung)
Klicke auf "Start" oder "Schritt", um den Algorithmus schrittweise zu analysieren.
FIAE-Pseudocode (Prüfungsstandard)
Aktive Zeile leuchtetLive-Trace & Variablen
Speicher-MonitorVariablenzustände, Grenzen und Zwischenergebnisse des aktuellen Schritts: