Skip to content

Bayern Abitur Informatik

Abitur · ISB BayernInformatik50 notes in 11 folders, 274 KB

Notes for Bavarian Abitur Informatik (G9 LehrplanPLUS, Jahrgangsstufen 12 and 13), in one folder for each of the eleven content areas, with one note per topic. Content that only the higher level (erhöhtes Anforderungsniveau) requires is marked where it sits. Code examples use Java with German identifiers. Delete any folder your course leaves out once the notes are yours.

Adding them puts a copy in your notes, in a folder of its own with the folders below, for you to change and turn into flashcards or a question deck. Download gives you a zip of markdown files, which opens in any notes app.

What is inside

  • Rekursion
    • Das Prinzip der Rekursion7 KB
    • Graphen und Tiefensuche5 KB
  • Listen
    • Klassen- und Objektdiagramme5 KB
    • Die einfach verkettete Liste6 KB
    • Rekursive Listenmethoden6 KB
    • Sequenzdiagramme6 KB
    • Stapel und Warteschlange5 KB
  • Bäume
    • Bäume und Binärbäume5 KB
    • Der geordnete Binärbaum6 KB
    • Traversierung von Binärbäumen4 KB
    • Suchaufwand in Liste und Baum4 KB
    • Weitere Bäume: Huffman-Baum, Quad-Tree und Hash-Baum4 KB
  • Betriebssysteme, Prozesse und Nebenläufigkeit
    • Aufgaben und Aufbau eines Betriebssystems5 KB
    • Rechteverwaltung und Zugriffskontrolle5 KB
    • Prozesse und Scheduling6 KB
    • Nebenläufigkeit und Synchronisation5 KB
    • Verklemmungen und Betriebsmittelzuteilungsgraph7 KB
    • Monitor, Semaphor und klassische Synchronisationsprobleme8 KB
  • Informationssicherheit
    • Schutzziele und Gefährdungen7 KB
    • Sicherheitsmaßnahmen, Grenzen und Offenlegung von Schwachstellen6 KB
  • Praktische Softwareentwicklung, Projekt
    • Vorgehensmodelle: Wasserfallmodell und agile Entwicklung6 KB
    • Projektplanung, Teamarbeit und Versionsverwaltung5 KB
    • Architektur- und Entwurfsmuster: MVC und Observer4 KB
    • Bibliotheksklassen und grafische Oberflächen5 KB
    • Testen, Refaktorierung und Dokumentation6 KB
    • Softwarequalität und Softwareergonomie5 KB
  • Formale Sprachen und Automaten
    • Formale Sprachen und Grammatiken5 KB
    • EBNF, Syntaxdiagramme und Ableitungsbäume5 KB
    • Deterministische endliche Automaten6 KB
    • Nichtdeterminismus und Grenzen regulärer Sprachen5 KB
    • Turingmaschinen6 KB
  • Funktionsweise eines Rechners
    • Von-Neumann-Architektur5 KB
    • Zweierkomplement und Zahlenbereiche4 KB
    • Logikgatter, Normalformen und Schaltungen7 KB
    • Die Registermaschine und der Befehlszyklus5 KB
    • Assemblerprogramme und Kontrollstrukturen6 KB
  • Algorithmen, Komplexität und Berechenbarkeit
    • Laufzeitaufwand, Zählverfahren und Brute Force6 KB
    • Landau-Notation4 KB
    • Sortieren: Bubblesort und Mergesort5 KB
    • Lösungsstrategien und klassische Probleme6 KB
    • Die Klassen P und NP5 KB
    • Berechenbarkeit und Halteproblem5 KB
  • Künstliche Intelligenz
    • Wissensbasierte Systeme6 KB
    • Künstliche neuronale Netze und Forward Propagation5 KB
    • Training: Kostenfunktion, Fehlerrückführung und Hyperparameter6 KB
    • Formen des maschinellen Lernens und k-Means6 KB
    • Ethische Fragen bei künstlicher Intelligenz6 KB
  • Internet der Dinge
    • Internet der Dinge, Sensoren und Aktoren5 KB
    • Client-Server-Anwendung im lokalen Netz und Protokolle5 KB
    • Sicherheit, Chancen und Risiken von IoT-Systemen6 KB

The first note

Rekursion / Das Prinzip der Rekursion

## Was Rekursion ist Ein Algorithmus oder eine Methode heißt **rekursiv**, wenn sie sich zur Lösung einer Aufgabe selbst wieder aufruft, und zwar mit einer kleineren oder einfacheren Version derselben Aufgabe. Die Grundidee besteht darin, ein Problem auf ein gleichartiges, aber kleineres Problem zurückzuführen, bis die Lösung so einfach ist, dass sie ohne weiteren Aufruf angegeben werden kann. Jede korrekte rekursive Methode hat zwei Bestandteile. - Die **Abbruchbedingung** (auch Rekursionsanker oder Basisfall) behandelt den einfachsten Fall direkt und ruft die Methode nicht mehr auf. - Der **rekursive Aufruf** löst den übrigen Fall, indem er dieselbe Methode mit einem Argument aufruft, das näher an der Abbruchbedingung liegt. Fehlt die Abbruchbedingung, oder nähert sich das Argument ihr nie an, dann endet die Rekursion nicht. Bei Java führt das nach einiger Zeit zu einem `StackOverflowError`, weil jeder Aufruf Speicherplatz auf dem Aufrufkeller (Stack) belegt und dieser irgendwann voll ist. ## Lineare Rekursion Bei der **linearen Rekursion** führt jeder Aufruf höchstens einen weiteren rekursiven Aufruf aus. Die Aufrufe bilden eine Kette. Das Standardbeispiel ist die Fakultät, $n! = n \cdot (n-1)!$ mit $0! = 1$. ```java public static int fakultaet(int n) { if (n == 0) { return 1; // Abbruchbedingung } return n * fakultaet(n - 1); // rekursiver Aufruf } ``` Für `fakultaet(3)` entsteht zuerst die Aufrufkette, dann wird von innen nach außen zurückgerechnet: $$3! = 3 \cdot 2! =…

And 49 more once you add or download them.

Reviews

No written reviews yet. Add these notes to yours and you can be the first to leave one.