Wird geladen
EuraStudy
Dein Lernraum wird vorbereitet — Curriculum, Notizen und KI verbinden sich.
Wird geladen
Dein Lernraum wird vorbereitet — Curriculum, Notizen und KI verbinden sich.
DE-Abitur · InformatikT·011 / 8
Vom Algorithmusbegriff über Kontrollstrukturen bis hin zur Implementation in Java und Python. Schwerpunkte sind Spezifikation, Korrektheit, Iteration, Rekursion sowie modulare Zerlegung — die KMK EPA verortet diesen Kompetenzbereich an der Schnittstelle von „Modellieren/Implementieren" und „Strukturieren/Darstellen".
7Abschnitteca. 13Min Lesezeit3Kompetenzen
Operatoren:analysieren · erläutern · implementieren · beurteilen · darstellen
grundlegendes Niveau
gA: Algorithmus als endliche Folge wohldefinierter Schritte erklären, Sequenz/Selektion/Iteration in Java oder Python implementieren, einfache Schleifeninvarianten benennen.
erhöhtes Niveau
eA: Rekursion vs. Iteration vergleichen, Schleifeninvarianten formal nachweisen, Komplexität in O-Notation angeben und nicht-triviale Algorithmen (Euklid, Ackermann qualitativ) analysieren.
Kernpunkte
HOARE-TRIPEL
Wenn die Vorbedingung P vor Ausführung von S gilt und S terminiert, dann gilt nach S die Nachbedingung Q.
Typische Fehler
LK-Vertiefung
eA-Vertiefung: Formulieren Sie ein Hoare-Tripel für eine while-Schleife, die das Maximum eines Arrays bestimmt, und beweisen Sie die Schleifeninvariante.
Kernpunkte
Typische Fehler
Kernpunkte
REKURSIONSGLEICHUNG (MASTER-THEOREM)
Für Divide-and-Conquer-Verfahren; Lösung hängt vom Verhältnis zwischen f(n) und n^(log_b a) ab.
Musterlösung
Geben Sie die BFS- und DFS-Reihenfolge ausgehend von Knoten A im Graphen mit Kanten {A-B, A-C, B-D, B-E, C-F} an.
BFS verwendet eine FIFO-Queue, DFS einen LIFO-Stack (bzw. Rekursion).
Queue: [A] → besuche A, Queue: [B,C] → besuche B, Queue: [C,D,E] → C → D → E → F. Reihenfolge: A, B, C, D, E, F.
A → B → D (zurück) → E (zurück, zurück) → C → F. Reihenfolge: A, B, D, E, C, F.
Beide Verfahren laufen in O(V + E) auf Adjazenzlisten. BFS findet kürzeste Pfade in ungewichteten Graphen, DFS eignet sich für Topologische Sortierung.
Ergebnis: BFS: A, B, C, D, E, F. DFS: A, B, D, E, C, F.
Typische Fehler
LK-Vertiefung
eA-Vertiefung: Zeigen Sie, dass Mergesort mit T(n) = 2T(n/2) + O(n) die Komplexität T(n) ∈ O(n log n) hat (Master-Theorem, Fall 2).
Kernpunkte
INSERTION SORT — TRACE ÜBER [5, 2, 4, 6, 1, 3]
Welche drei Beschriftungen in "Insertion Sort — Trace über [5, 2, 4, 6, 1, 3]" sind prüfungsrelevant?
Folgeaufgabe: Skizziere dasselbe Schema ohne Beschriftungen und ergänze sie aus dem Gedächtnis.
Musterlösung
Bestimmen Sie die Zeitkomplexität in O-Notation für folgenden Java-Code: zwei verschachtelte Schleifen über n Elemente mit einer inneren O(log n)-Operation.
```java for (int i = 0; i < n; i++) { for (int j = i; j < n; j++) { binarySearch(arr, key); // O(log n) } } ```
Äußere Schleife n Iterationen, innere im Mittel n/2; insgesamt T(n) = n·(n+1)/2 ≈ n²/2 innere Aufrufe.
Jeder innere Schritt kostet O(log n). Gesamtkosten: O(n²/2 · log n).
Konstanter Faktor 1/2 entfällt; Ergebnis ist O(n² log n).
Ergebnis: Zeitkomplexität: O(n² log n); dominanter Term ist die quadratische äußere Verschachtelung.
Musterlösung
Führen Sie auf dem Array [3, 7, 8, 5, 2, 1, 9, 5, 4] eine Lomuto-Partition mit dem Pivot a[hi] = 4 (letztes Element) durch und geben Sie die Endposition des Pivots an.
Pivot p = a[hi] = 4. Der Index i (Grenze des „≤-Bereichs") startet auf i = lo − 1 = −1; j durchläuft die Positionen lo … hi−1, also 0 … 7.
j=0: 3 ≤ 4 → i=0, Tausch a[0]↔a[0] → [3,7,8,5,2,1,9,5,4]. j=1,2,3: 7,8,5 > 4 → kein Tausch. j=4: 2 ≤ 4 → i=1, Tausch a[1]↔a[4] → [3,2,8,5,7,1,9,5,4]. j=5: 1 ≤ 4 → i=2, Tausch a[2]↔a[5] → [3,2,1,5,7,8,9,5,4]. j=6,7: 9,5 > 4 → kein Tausch.
Nach der Schleife ist i = 2. Pivot kommt auf i+1 = 3: Tausch a[3]↔a[hi]=a[8] → [3,2,1,4,7,8,9,5,5]. Der Pivot 4 steht jetzt am Index 3.
Linker Teil [3,2,1] enthält nur Werte ≤ 4, rechter Teil [7,8,9,5,5] nur Werte ≥ 4. Der Pivot ist an seiner endgültigen Sortierposition; Quicksort sortiert beide Teile rekursiv weiter.
Ergebnis: Nach der Partition: [3,2,1,4,7,8,9,5,5]; der Pivot 4 liegt endgültig auf Index 3 (3 Elemente links, 5 rechts).
Typische Fehler
LK-Vertiefung
eA-Vertiefung: Übersicht der Vergleichszahlen (worst/average/best) — Bubble Sort O(n²)/O(n²)/O(n) (mit Abbruch-Flag), Insertion Sort O(n²)/O(n²)/O(n), Selection Sort O(n²) in allen Fällen (~n²/2 Vergleiche, aber nur O(n) Tausche), Merge Sort O(n log n) garantiert (stabil, O(n) Zusatzspeicher), Quick Sort O(n²)/O(n log n)/O(n log n) (in-place, nicht stabil). Begründen Sie, warum nur die vergleichsbasierten Verfahren der unteren Schranke Ω(n log n) unterliegen, Zählsortierung dagegen nicht.
Kernpunkte
Typische Fehler
Kernpunkte
DEFINITION DER O-NOTATION
Asymptotische obere Schranke; konstante Faktoren und niedrigere Terme werden ignoriert.
REKURSIONSGLEICHUNG (MASTER-THEOREM)
Für Divide-and-Conquer-Verfahren; Lösung hängt vom Verhältnis zwischen f(n) und n^(log_b a) ab.
BIG-O-WACHSTUMSKLASSEN IM VERGLEICH
Welche drei Beschriftungen in "Big-O-Wachstumsklassen im Vergleich" sind prüfungsrelevant?
Folgeaufgabe: Skizziere dasselbe Schema ohne Beschriftungen und ergänze sie aus dem Gedächtnis.
Musterlösung
Bestimmen Sie die Zeitkomplexität in O-Notation für folgenden Java-Code: zwei verschachtelte Schleifen über n Elemente mit einer inneren O(log n)-Operation.
```java for (int i = 0; i < n; i++) { for (int j = i; j < n; j++) { binarySearch(arr, key); // O(log n) } } ```
Äußere Schleife n Iterationen, innere im Mittel n/2; insgesamt T(n) = n·(n+1)/2 ≈ n²/2 innere Aufrufe.
Jeder innere Schritt kostet O(log n). Gesamtkosten: O(n²/2 · log n).
Konstanter Faktor 1/2 entfällt; Ergebnis ist O(n² log n).
Ergebnis: Zeitkomplexität: O(n² log n); dominanter Term ist die quadratische äußere Verschachtelung.
Typische Fehler
LK-Vertiefung
eA-Vertiefung: Beweisen Sie mit dem Vergleichsmodell die untere Schranke Ω(n log n) für vergleichsbasierte Sortieralgorithmen über die Entscheidungsbaumtiefe.
Kernpunkte
REKURSIONSGLEICHUNG (MASTER-THEOREM)
Für Divide-and-Conquer-Verfahren; Lösung hängt vom Verhältnis zwischen f(n) und n^(log_b a) ab.
Typische Fehler
LK-Vertiefung
eA-Vertiefung: Skizzieren Sie eine DP-Tabelle für das 0/1-Rucksackproblem mit n Gegenständen und Kapazität W; Laufzeit O(nW), pseudopolynomial.