BY Abitur Informatik gA study materials
BY Abitur Informatik gA study resources

BY Abitur Informatik gA flashcards

BY Abitur Informatik gA · Build recall with a focused review session.

32 cards. Read the term and the definition here. The deck at the top of this page is optional.

Definition Algorithmus
Ein Algorithmus ist eine endliche, eindeutige Folge von Anweisungen, die für jede zulässige Eingabe nach endlich vielen Schritten ein Ergebnis liefert. Merkmale: Determiniertheit, Terminierung, Ausführbarkeit, Allgemeingültigkeit.
Eigenschaft Determiniertheit
Determiniertheit bedeutet, dass ein Algorithmus bei gleicher Eingabe und gleichem Zustand stets dasselbe Ergebnis liefert. Sie ist von Determinismus zu unterscheiden, der zusätzlich einen eindeutig festgelegten Ablauf verlangt.
Lineare Suche
Die lineare Suche prüft die Elemente eines Feldes der Reihe nach von vorne, bis der gesuchte Wert gefunden ist oder das Feld endet. Laufzeit O(n), funktioniert auch bei unsortierten Daten.
Binäre Suche
Die binäre Suche vergleicht den gesuchten Wert mit dem mittleren Element eines sortierten Feldes und halbiert danach den Suchbereich. Laufzeit O(log n); Voraussetzung ist eine sortierte Datenstruktur mit direktem Zugriff.
Bubblesort
Bubblesort vergleicht benachbarte Elemente und tauscht sie, wenn sie in falscher Reihenfolge stehen; nach jedem Durchlauf steht das größte Element an seiner Endposition. Laufzeit im Worst Case O(n²), stabil.
Mergesort
Mergesort teilt die Folge rekursiv in zwei Hälften, sortiert diese und mischt sie anschließend linear zusammen. Laufzeit O(n log n) in allen Fällen, benötigt aber zusätzlichen Speicher für das Mischen.
Quicksort
Quicksort wählt ein Pivot-Element, teilt die Folge in kleinere und größere Elemente und sortiert die Teile rekursiv. Durchschnittlich O(n log n), im Worst Case O(n²) bei ungünstiger Pivot-Wahl.
Rekursion Basisfall
Der Basisfall ist die Abbruchbedingung einer rekursiven Methode; er wird ohne weiteren Selbstaufruf berechnet. Fehlt er oder wird er nie erreicht, entsteht ein Stapelüberlauf (Stack Overflow).
Stapel (Stack)
Ein Stapel ist eine Datenstruktur nach dem LIFO-Prinzip: Das zuletzt eingefügte Element wird zuerst entnommen. Grundoperationen sind push (ablegen) und pop (entnehmen); typische Anwendung ist der Aufrufstapel.
Schlange (Queue)
Eine Schlange arbeitet nach dem FIFO-Prinzip: Das zuerst eingefügte Element wird zuerst entnommen. Grundoperationen sind enqueue (hinten anfügen) und dequeue (vorne entnehmen), etwa für Warteschlangen oder Breitensuche.
Verkettete Liste
Eine verkettete Liste speichert Elemente in Knoten, die jeweils einen Verweis auf den nächsten Knoten enthalten. Einfügen und Löschen an bekannter Position ist O(1), der Zugriff auf das n-te Element ist O(n).
Binärbaum
Ein Binärbaum besteht aus Knoten mit höchstens zwei Kindern (links, rechts). Ein binärer Suchbaum ordnet kleinere Werte links und größere rechts ein, sodass Suchen im balancierten Fall O(log n) kostet.
Hashfunktion und Hashtabelle
Eine Hashfunktion bildet Schlüssel auf Indizes einer Hashtabelle ab. Kollisionen (gleicher Index) werden durch Verkettung oder offenes Adressieren behandelt; der mittlere Zugriff ist O(1), im Worst Case O(n).
Klasse und Objekt
Eine Klasse ist der Bauplan, der Attribute und Methoden festlegt; ein Objekt ist eine konkrete Instanz dieser Klasse mit eigenem Zustand. Objekte werden über Konstruktoren erzeugt und über Methoden manipuliert.
Kapselung
Kapselung bedeutet, Attribute als private zu deklarieren und den Zugriff nur über öffentliche Methoden (Getter/Setter) zu erlauben. So bleibt die interne Repräsentation änderbar, ohne die Schnittstelle zu brechen.
Vererbung
Bei Vererbung übernimmt eine Unterklasse Attribute und Methoden ihrer Oberklasse und kann sie erweitern oder überschreiben. Sie modelliert eine ist-ein-Beziehung, etwa Hund ist ein Tier.
Polymorphie
Polymorphie erlaubt, Objekte verschiedener Unterklassen über eine Referenz des Oberklassentyps anzusprechen. Welche überschriebene Methode ausgeführt wird, entscheidet die dynamische Bindung zur Laufzeit anhand des Objekttyps.
Überschreiben (Overriding)
Beim Überschreiben definiert eine Unterklasse eine Methode mit gleicher Signatur wie die Oberklasse neu. Der Aufruf der Oberklassenversion ist über super möglich; die Auswahl erfolgt dynamisch zur Laufzeit.
Überladen (Overloading)
Überladen bezeichnet mehrere Methoden gleichen Namens mit unterschiedlicher Parameterliste in derselben Klasse. Die Auswahl erfolgt statisch zur Übersetzungszeit anhand der Argumenttypen, nicht anhand des Objekttyps.
Abstrakte Klasse
Eine abstrakte Klasse kann nicht direkt instanziiert werden und darf abstrakte Methoden ohne Rumpf enthalten. Unterklassen müssen diese Methoden implementieren; sie dient als gemeinsame Basis mit vorgegebenem Verhalten.
UML Klassendiagramm
Das Klassendiagramm stellt Klassen als Rechtecke mit Attributen und Methoden dar und verbindet sie über Assoziationen mit Multiplizitäten. Sichtbarkeiten werden mit -, +, # und ~ notiert; Vererbung zeigt ein Dreieckspfeil.
Multiplizität in Assoziationen
Die Multiplizität gibt an, wie viele Objekte an einer Assoziation beteiligt sind, z. B. 1, 0..1 oder 1..*. Sie steht am jeweiligen Assoziationsende und beschreibt die Anzahl der Objekte der Gegenseite.
ER-Modell
Das Entity-Relationship-Modell beschreibt Daten mit Entitätstypen (Rechtecke), Attributen (Ellipsen) und Beziehungstypen (Rauten) samt Kardinalitäten wie 1:1, 1:n oder m:n. Es dient als Ausgangspunkt für das Relationenmodell.
Relationenmodell
Im Relationenmodell wird jeder Entitätstyp zu einer Tabelle mit Attributen als Spalten und einem Primärschlüssel. m:n-Beziehungen werden zu eigenen Zwischentabellen mit den Schlüsseln der beteiligten Tabellen.
Primärschlüssel
Der Primärschlüssel ist ein Attribut oder eine Attributkombination, das jede Zeile einer Relation eindeutig identifiziert. Er darf nicht NULL sein; Fremdschlüssel verweisen auf Primärschlüssel anderer Relationen.
SQL SELECT
SELECT wählt Spalten, FROM nennt die Tabellen, WHERE filtert Zeilen, GROUP BY gruppiert und ORDER BY sortiert. Beispiel: SELECT Name FROM Schueler WHERE Klasse = 10 ORDER BY Name.
SQL JOIN
Ein JOIN verknüpft Zeilen zweier Tabellen über eine gemeinsame Spalte, meist Fremdschlüssel gleich Primärschlüssel. INNER JOIN liefert nur passende Paare, LEFT JOIN zusätzlich alle Zeilen der linken Tabelle ohne Partner.
Endlicher Automat
Ein endlicher Automat besteht aus Zustandsmenge, Eingabealphabet, Übergangsfunktion, Startzustand und Menge der Endzustände. Er akzeptiert ein Wort, wenn nach vollständigem Lesen ein Endzustand erreicht ist.
Deterministischer Automat (DEA)
Bei einem deterministischen endlichen Automaten gibt es für jedes Zeichen und jeden Zustand höchstens einen Folgezustand. Ein nichtdeterministischer Automat (NEA) erlaubt mehrere; jeder NEA lässt sich in einen äquivalenten DEA umwandeln.
Regulärer Ausdruck
Ein regulärer Ausdruck beschreibt eine Sprache über einem Alphabet mit Zeichen, Konkatenation, Alternation (|) und Stern (*). Die von regulären Ausdrücken beschriebenen Sprachen sind genau die von endlichen Automaten akzeptierten.
Binärdarstellung und Zweierkomplement
Natürliche Zahlen werden im Dualsystem mit den Stellenwerten 2^k dargestellt. Negative Ganzzahlen kodiert das Zweierkomplement: alle Bits invertieren und 1 addieren; das führende Bit zeigt dann das Vorzeichen.
ASCII und Unicode
ASCII kodiert 128 Zeichen mit 7 Bit, erweitert mit 8 Bit. Unicode ordnet über eine Million Zeichen Codepunkten zu; UTF-8 kodiert diese mit 1 bis 4 Bytes variabler Länge und ist zu ASCII kompatibel.