Diskrete Mathematik

Logik & Beweissysteme

BegriffBedeutung
Beweissystem ()Tupel aus Aussagen, Beweisen, Wahrheitsfunktion und Verifikation
(Statements)Menge der Aussagen
(Proofs)Menge der Beweise
(Truth function)Funktion, die Wahrheitswert (0/1) einer Aussage definiert
(Verification)Funktion, die prüft, ob ein Beweis gültig ist
Sound (korrekt)Kein Beweis für falsche Aussagen möglich
Complete (vollständig)Für jede wahre Aussage existiert ein Beweis
Alphabet ()Menge der erlaubten Symbole
InterpretationZuweisung von Werten zu freien Elementen
ModellEine wahre Interpretation
Logische Konsequenz ()G folgt aus F
Logische Äquivalenz ()F und G haben in jeder Interpretation denselben Wahrheitswert
Erfüllbar (satisfiable)Mindestens eine wahrmachende Interpretation existiert
TautologieIn jeder Interpretation wahr
UnerfüllbarIn keiner Interpretation wahr

Prädikatenlogik & Quantoren

BegriffBedeutung
Existenzquantor ()“Es existiert mindestens ein…”
Allquantor ()“Für alle…”
Scope (Geltungsbereich)Bereich, in dem ein Quantor wirkt

Mengen

BegriffBedeutung
Element von ()x ist in Menge A enthalten
Teilmenge ()Alle Elemente von A sind auch in B
Echte Teilmenge ()Teilmenge, aber nicht gleich
TupelGeordnete Menge (Reihenfolge wichtig)
Potenzmenge ()Menge aller Teilmengen von A
Kardinalität ()Anzahl der Elemente einer Menge
Kartesisches Produkt ()Menge aller Paare (a,b) mit ,
Leere Menge ()Menge ohne Elemente
Russells ParadoxWiderspruch bei selbstreferenziellen Mengen

Relationen

BegriffBedeutung
Relation ()Teilmenge von
Identitätsrelation ()Jedes Element steht nur zu sich selbst in Relation
Inverse Relation ()Richtung der Paare vertauscht
Komposition ()Verkettung von Relationen über Zwischenelement
ReflexivJedes Element steht zu sich selbst in Relation
IrreflexivKein Element steht zu sich selbst in Relation
SymmetrischWenn , dann
AntisymmetrischBeide Richtungen nur bei Gleichheit
TransitivWenn und , dann
Kongruenz modulo m ()Gleicher Rest bei Division durch m

Spezielle Relationen

BegriffBedeutung
ÄquivalenzrelationReflexiv, symmetrisch, transitiv
Äquivalenzklasse ()Menge aller Elemente, die zu a äquivalent sind
PartitionZerlegung einer Menge in disjunkte Teilmengen
Quotientenmenge ()Menge aller Äquivalenzklassen
OrdnungsrelationReflexiv, antisymmetrisch, transitiv

Posets & Hasse-Diagramme

BegriffBedeutung
PosetPartially ordered set (Menge mit Ordnungsrelation)
Lexikographische OrdnungVergleich wie im Wörterbuch
Deckung (covers)b deckt a, wenn nichts zwischen a und b liegt
Vergleichbara ≼ b oder b ≼ a
TotalgeordnetAlle Elemente sind vergleichbar
Well-orderedTotalgeordnet und jede Teilmenge hat kleinstes Element
Kleinstes ElementElement ist related zu allen anderen
Größtes ElementAlle Elemente sind related zu diesem
Minimales ElementKein Element zeigt auf dieses
Maximales ElementZeigt auf kein anderes Element
Transitive Closure ()Alle erreichbaren Verbindungen über beliebig viele Schritte
MeetEindeutiger gemeinsamer lower bound zweier Elemente
JoinEindeutiger gemeinsamer upper bound zweier Elemente
Lattice (Verband)Alle Paare haben Meet und Join

Zählbarkeit

BegriffBedeutung
Abzählbar (countable)Gleichmächtig zu
Überabzählbar (uncountable)Nicht abzählbar (z.B. )
Equinumerous ()Gleichmächtig, es existiert eine Bijektion
Dominiert ()Es existiert eine Injektion von A nach B
BijektionInjektiv und surjektiv
InjektionVerschiedene Elemente haben verschiedene Bilder
SurjektionJedes Element im Zielbereich wird getroffen

Beweisstrategien

BegriffBedeutung
Direkter BeweisNimm S an, zeige T
Indirekter Beweis (Kontraposition)Nimm ¬T an, zeige ¬S
Beweis durch WiderspruchNimm ¬S an, leite Widerspruch ab
FallunterscheidungTeile in Fälle auf, beweise jeden einzeln
Modus PonensAus F und (F → G) folgt G
ExistenzbeweisFinde ein konkretes Beispiel
Pigeonhole Principlen Objekte auf k Gruppen → mindestens eine Gruppe hat

Algebra – Grundlagen

BegriffBedeutung
AlgebraMenge G mit Operation , unter dieser abgeschlossen
Abgeschlossen / ClosedOperation bleibt innerhalb der Menge
Assoziativ / Associative
Kommutativ / Commutative
Neutrales Element / Identity element
Inverses Element / Inverse
MonoidAlgebra + assoziativ + neutrales Element
Gruppe / GroupMonoid + inverses Element für jedes
Abelsche Gruppe / Abelian groupGruppe + Kommutativität

Algebra – Ordnung

BegriffBedeutung
Ordnung einer Gruppe / Order of a groupAnzahl Elemente in der Gruppe
Ordnung eines Elementes / Order of an elementKleinstes mit
Satz von Lagrange teilt für Untergruppe

Algebra – Untergruppen und Strukturen

BegriffBedeutung
Untergruppe / SubgroupTeilmenge, abgeschlossen unter Operation, mit und Inversen
Zyklische Gruppe / Cyclic groupAlle Elemente entstehen aus einem Generator
GeneratorElement das alle Gruppenelemente erzeugt
Direct ProductNeue Gruppe aus Tupeln mehrerer Gruppen

Algebra – Homomorphismen

BegriffBedeutung
Homomorphismus / Homomorphism
Isomorphismus / IsomorphismBijektiver Homomorphismus
Injektiv / Injective
Surjektiv / SurjectiveJedes Element im Bild wird getroffen
Bijektion / BijectionInjektiv und surjektiv

Algebra – Ringe und Körper

BegriffBedeutung
RingMenge mit Addition (Gruppe) und Multiplikation (Monoid)
Körper / FieldRing, alle haben multiplikatives Inverses
Distributivgesetz
Nullteiler / Zero divisor, , aber
Integritätsbereich / Integral domainRing ohne Nullteiler
Einheit / UnitElement mit multiplikativem Inversen ()
Menge aller Einheiten (invertierbaren Elemente)
GF(p) / Galois Field für Primzahl

Algebra – Polynome

BegriffBedeutung
Polynom / PolynomialAusdruck
Polynomring über Körper F
Grad / DegreeHöchste Potenz im Polynom
Monisch / MonicFührender Koeffizient = 1
Irreduzibel / IrreducibleKeine nicht-trivialen Faktoren
Reduzibel / ReducibleHat Nullstelle, also faktorisierbar
Polynomdivision
Nullstelle / RootWert mit
Polynome modulo , Körper wenn irreduzibel

Zahlentheorie

BegriffBedeutung
Teilbarkeit / Divisibility
gcd / ggTGrößter gemeinsamer Teiler
lcm / kgVKleinstes gemeinsames Vielfaches
Teilerfremd / Coprime
IdealMenge
Primfaktorzerlegung
Äquivalenz modulo
Restklasse / Residue class
Multiplikatives Inverses

Euler und Fermat

BegriffBedeutung
Eulersche Phi-Funktion Anzahl teilerfremder Zahlen zu
Menge der zu teilerfremden Elemente
Satz von Euler für
Satz von Fermat für Primzahl

Kryptographie

BegriffBedeutung
Diffie-HellmanSchlüsselaustausch mit , mod
RSAPublic-Key-Verfahren mit
Diskreter LogarithmusAus schwer zu berechnen
Public KeyÖffentlicher Schlüssel
Private KeyGeheimer Schlüssel

Algorithmen und Datenstrukturen

Datenstrukturen – Grundlegend

BegriffBedeutung
ArrayFeste Größe, O(1) Zugriff, O(n) Einfügen/Löschen
1-verkettete ListeEinfach verkettete Liste, O(1) Einfügen, O(n) Zugriff
2-verkettete ListeDoppelt verkettete Liste, O(1) Einfügen/Löschen
StackLast In First Out (push, pop)
QueueFirst In First Out (enqueue, dequeue)
Priority QueueMin/Max-Heap, O(log n) für Insert/ExtractMin

Datenstrukturen – Bäume

BegriffBedeutung
HeapBinärbaum mit O(log n) Einfügen/Löschen, O(1) Max-Zugriff
Binärer SuchbaumSortierter Baum mit O(log n) Operationen
2-3-BaumBalancierter Baum mit garantiert O(log n)
HeapifyArray in Heap umwandeln, O(n)
ExtractMaxMaximum aus Heap entfernen und versickern

Sortieralgorithmen

BegriffBedeutung
Bubble SortBenachbarte Elemente tauschen, O(n²)
Selection SortGrößtes Element ans Ende, O(n²)
Insertion SortElement an richtige Stelle im sortierten Teil, O(n²)
Merge SortDivide & Conquer, rekursiv teilen und mergen, O(n log n)
QuicksortPivotelement wählen, partitionieren, in-place, O(n log n) avg
HeapsortSelection Sort mit Max-Heap, O(n log n)
Bucket SortElemente in Buckets verteilen, O(n)
PivotelementElement zum Partitionieren bei Quicksort

Suchalgorithmen

BegriffBedeutung
Linear SearchJedes Element durchgehen, O(n)
Binary SearchListe halbieren bei sortiertem Array, O(log n)
EntscheidungsbaumBinärbaum für Vergleiche, Blätter sind Ergebnisse
Star-SuchePerson finden, die alle kennen aber niemanden kennt

Graphentheorie – Grundbegriffe

BegriffBedeutung
Vertex (Knoten)Punkt im Graphen
Edge (Kante)Verbindung zwischen zwei Knoten
GradAnzahl anliegender Kanten eines Knotens
Weg (Walk)Folge benachbarter Knoten
Pfad (Path)Weg ohne wiederholte Knoten
ZyklusWeg mit Start = Ende
Kreis (Cycle)Zyklus ohne Knotenwiederholung, min. 3 Knoten
EulerwegJede Kante genau einmal
HamiltonpfadJeder Knoten genau einmal
adjazentBenachbarte Knoten
inzidentKante anliegend zu einem Knoten
ZusammenhangskomponenteVerbundener Teilgraph
Baum (Tree)Zusammenhängend ohne Kreis
bipartitGraph in zwei Partitionen teilbar
cut vertexKnoten dessen Entfernung Graph trennt
cut edgeKante deren Entfernung Graph trennt

Graphentheorie – Gerichtete Graphen

BegriffBedeutung
Gerichteter GraphGraph mit geordneten Knotenpaaren
SenkeKnoten ohne Nachfolger, deg_out = 0
QuelleKnoten ohne Vorgänger, deg_in = 0
EingangsgradAnzahl eingehender Kanten
AusgangsgradAnzahl ausgehender Kanten
AdjazenzmatrixMatrix zur Darstellung von Kanten
AdjazenzlisteListe aller Nachfolger pro Knoten
Topologische SortierungReihenfolge mit erfüllten Abhängigkeiten

Graph-Algorithmen – Traversierung

BegriffBedeutung
BFS (Breitensuche)Ebenenweise traversieren mit Queue, O(V+E)
DFS (Tiefensuche)So weit wie möglich vorlaufen mit Stack, O(V+E)
BreitensuchbaumErfasst minimale Distanzen zu Knoten
Pre-orderReihenfolge des ersten Betretens
Post-orderReihenfolge des letzten Verlassens
Tree edgeKante im Tiefensuchbaum
Forward edgeKante zu indirektem Nachfolger
Back edgeKante zu indirektem Vorgänger (→ Zyklus)
Cross edgeKante zwischen verschiedenen DFS-Teilbäumen

Graph-Algorithmen – Kürzeste Wege

BegriffBedeutung
DijkstraKürzester Weg mit pos. Gewichten, O((V+E) log n)
Bellman-FordKürzester Weg auch mit neg. Gewichten, O(V·E)
Negativer ZyklusZyklus mit negativer Gesamtgewichtssumme

Laufzeitanalyse

BegriffBedeutung
O-Notation (Big-O)Obere Schranke für Wachstum
Ω-Notation (Omega)Untere Schranke für Wachstum
Θ-Notation (Theta)Exakte Wachstumsordnung
Master TheoremLaufzeit für T(n) = aT(n/b) + Cn^d bestimmen
a (Master Theorem)Anzahl der Teilprobleme
b (Master Theorem)Verkleinerungsfaktor
d (Master Theorem)Arbeit außerhalb der Rekursion

Dynamische Programmierung

BegriffBedeutung
Dynamische ProgrammierungOptimierung durch Teilprobleme und Memoization
MemoizationZwischenspeichern bereits berechneter Werte
Bottom-upIterativ von kleinen zu großen Teilproblemen
DP-TabelleTabelle zur Speicherung der Teilproblem-Lösungen
TeilproblemKleinere Instanz des Gesamtproblems
RekursionsformelBerechnung aus vorherigen Einträgen
EditierdistanzMin. Operationen um String A in B umzuwandeln
LGT (Längste gemeinsame Teilfolge)Längste gemeinsame Subsequenz zweier Folgen
TeilsummenproblemGibt es Teilmenge mit bestimmter Summe?
RucksackproblemMaximaler Wert bei begrenzter Kapazität
Maximum Subarray SumGrößte Summe eines zusammenhängenden Teilarrays

Algorithmen-Konzepte

BegriffBedeutung
InvarianteAussage die nach jeder Iteration gilt
Divide and ConquerTeilen, rekursiv lösen, kombinieren
In-placeKein zusätzlicher Speicher nötig
Vergleichsbasiertes SuchenMin. Ω(log n) Vergleiche im Worst Case
Vergleichsbasiertes SortierenMin. Ω(n log n) Vergleiche im Worst Case

Einführung in die Programmierung

Hoare-Logik

BegriffBedeutung
Hoare-Tripel ({P} X = E {Q})Vorbedingung, Anweisung, Nachbedingung
Weakest PreconditionSchwächste Vorbedingung, die Nachbedingung garantiert
Loop InvarianteBedingung, die vor/nach jeder Schleifeniteration gilt

Klassen & Objekte

BegriffBedeutung
Klasse (class)Bauplan für Objekte
Objekt (object)Instanz einer Klasse, erstellt mit new
AttributVariable in Klasse, beschreibt Zustand
MethodeFunktion in Klasse, beschreibt Verhalten
Zustand (state)Menge aller Attributwerte eines Objekts
ReferenzZeiger auf ein Objekt im Speicher
Punktnotation (dot notation)Zugriff auf Attribute/Methoden via objekt.name
DereferenzierungZugriff auf Objekt über Referenz
thisReferenz auf das aktuelle Objekt
ShadowingLokale Variable verdeckt gleichnamiges Attribut
KonstruktorSpezielle Methode zur Objektinitialisierung
toString()Methode zur String-Darstellung eines Objekts

Vererbung & Polymorphismus

BegriffBedeutung
Vererbung (extends)Unterklasse übernimmt Attribute/Methoden der Oberklasse
Oberklasse (Superclass)Klasse, von der geerbt wird
Unterklasse (Subclass)Klasse, die erbt
Override (@Override)Methode der Oberklasse in Unterklasse überschreiben
superReferenz auf direkte Oberklasse
instanceofPrüft ob Objekt Instanz einer Klasse ist
statischer TypDeklarierter Typ, unveränderlich
dynamischer TypTatsächlicher Typ zur Laufzeit, änderbar
Dynamic BindingMethodenauswahl basierend auf dynamischem Typ
CastTypumwandlung “nach unten” im Vererbungsbaum
ObjectWurzelklasse aller Java-Klassen
final (Klasse)Verbietet Vererbung (kein extends)
final (Methode)Verbietet Override
final (Variable)Wert/Referenz unveränderbar
Abstrakte KlasseKlasse die nicht instanziiert werden kann

Interfaces

BegriffBedeutung
InterfaceVertrag, dass Klasse bestimmte Methoden implementiert
implementsKlasse implementiert ein Interface
extends (Interface)Interface erweitert anderes Interface

Sichtbarkeit (Access Modifiers)

BegriffBedeutung
publicÜberall sichtbar
protectedIn Klasse, Unterklassen und Package sichtbar
default (package-private)Nur im selben Package sichtbar
privateNur in eigener Klasse sichtbar

Datentypen – Primitiv

BegriffBedeutung
Primitive TypenSpeichern direkt den Wert (int, double, boolean, char)
intGanzzahl (primitiv)
doubleKommazahl (primitiv)
booleanWahrheitswert true/false (primitiv)
charEinzelnes Zeichen (primitiv)
Value SemanticsZuweisung kopiert den Wert (primitive Typen)

Datentypen – Referenz

BegriffBedeutung
ReferenztypenSpeichern Referenz auf Objekt (String, Arrays, Klassen)
StringText (Referenztyp, immutable)
IntegerWrapper-Klasse für int, kann null sein
AutoboxingAutomatische Umwandlung primitiv → Wrapper
UnboxingAutomatische Umwandlung Wrapper → primitiv
nullKeine Referenz, Standardwert für Referenztypen
Reference SemanticsZuweisung kopiert die Referenz (Referenztypen)
immutableUnveränderbar (z.B. String)
AliasingMehrere Referenzen zeigen auf dasselbe Objekt

Casting & Konvertierung

BegriffBedeutung
Implizites Casting (Widening)Automatische Typumwandlung zu größerem Typ
Explizites Casting (Narrowing)Manuelle Typumwandlung zu kleinerem Typ

Methoden & Funktionen

BegriffBedeutung
voidKein Rückgabewert
returnGibt Wert aus Methode zurück
ParameterEingabewerte einer Methode
Überladung (Overloading)Mehrere Methoden mit gleichem Namen, unterschiedlicher Signatur
SignaturName + Parametertypen einer Methode
staticGehört zur Klasse, nicht zum Objekt

Exceptions

BegriffBedeutung
ExceptionLaufzeitfehler/Ausnahme
throwException werfen
NullPointerExceptionFehler bei Zugriff auf null-Referenz
IllegalArgumentExceptionFehler bei ungültigen Argumenten

Kontrollstrukturen

BegriffBedeutung
if-elseBedingte Verzweigung
switch-caseMehrfachverzweigung
for-SchleifeZählschleife
while-SchleifeKopfgesteuerte Schleife
do-while-SchleifeFußgesteuerte Schleife
Enhanced forIteriert über Arrays/Collections
breakSchleife abbrechen
continueAktuellen Durchlauf überspringen

Logische Operatoren

BegriffBedeutung
&&Logisches UND (AND)
||Logisches ODER (OR)
!Logisches NICHT (NOT)
==Gleichheit (nur für primitive Typen)
equals()Gleichheit für Objekte

Arrays & Collections

BegriffBedeutung
ArrayFeste Sammlung von Werten gleichen Typs
ScannerKlasse zum Einlesen von Eingaben
RandomKlasse für Zufallszahlen

Rekursion

BegriffBedeutung
RekursionMethode ruft sich selbst auf
BasisfallAbbruchbedingung der Rekursion
Rekursiver FallSelbstaufruf mit verkleinertem Problem

Sonstiges

BegriffBedeutung
EBNFErweiterte Backus-Naur-Form, Grammatiknotation
UpperCamelCaseNamenskonvention für Klassen
lowerCamelCaseNamenskonvention für Methoden/Variablen

Lineare Algebra

Matrizen – Grundlagen

BegriffBedeutung
Matrix Hat Zeilen und Spalten
Identitätsmatrix Diagonale = 1, sonst 0;
DiagonalmatrixNur Hauptdiagonale ≠ 0
Obere DreiecksmatrixEinträge unter Diagonale = 0
Untere DreiecksmatrixEinträge über Diagonale = 0
Symmetrische Matrix
Transponierte Zeilen und Spalten vertauscht
Inverse Matrix , nur bei quadratisch & vollem Rang

Räume (Spaces)

BegriffBedeutung
VektorraumMenge von Vektoren, abgeschlossen unter Addition & Skalierung
Unterraum (Subspace)Teilmenge eines Vektorraums, selbst ein Vektorraum
Spaltenraum Span der Spalten von ; alle erreichbaren
Zeilenraum Span der Zeilen von
Nullraum Lösungen von
SpanAlle Linearkombinationen einer Vektormenge
BasisLinear unabhängige Vektoren, die Raum aufspannen
DimensionAnzahl der Basisvektoren

Lineare Unabhängigkeit & Rang

BegriffBedeutung
Linear unabhängigKeine Linearkombination ergibt 0 (außer triviale)
Linear abhängigEin Vektor ist Kombination der anderen
Rang (Rank)Anzahl linear unabhängiger Spalten/Zeilen
Rang-Nullitätssatz (Spaltenanzahl)
Steinitz-AustauschlemmaUnabh. Menge ≤ Spannende Menge; Basen gleich groß

Transformationen

BegriffBedeutung
Lineare Transformation ; respektiert Addition & Skalierung
InjektivVerschiedene Inputs → verschiedene Outputs
SurjektivJeder Output hat einen Input
BijektivInjektiv + Surjektiv; invertierbar

Operationen auf LGS

BegriffBedeutung
ZeilenvertauschungZwei Zeilen tauschen
SkalierungZeile mit Konstante ≠ 0 multiplizieren
ZeilenadditionVielfaches einer Zeile zu anderer addieren
Gauss-EliminationUmformung in Zeilenstufenform
ZeilenstufenformObere Dreiecksform durch Elimination

Orthogonalität

BegriffBedeutung
Orthogonal ()Skalarprodukt = 0
Orthogonales Komplement Alle Vektoren senkrecht zu
Nullraum ist orthogonal zum Zeilenraum
Skalarprodukt (Dot Product)

Projektionen

BegriffBedeutung
Projektion Nächster Punkt in zu
Projektionsmatrix
Residuum ; Fehlervektor

Least Squares & Regression

BegriffBedeutung
Least SquaresMinimiert
Normal Equations
Pseudoinverse ; löst Least Squares
Lineare RegressionBeste Gerade durch Datenpunkte finden

Sonstiges

BegriffBedeutung
KreuzproduktLiefert Vektor senkrecht zu zwei gegebenen
Norm Länge eines Vektors
LinearkombinationSumme von skalierten Vektoren