Datenstrukturen und Algorithmen Flashcards
Definition Algorithmus
Bearbeitungsvorschrift zur Lösung eines Problems
- Finitheit - mit endlichen Mitteln beschreibbar
- Determinismus - es ist immer eindeutig definiert, welche Regel als nächste anzuwenden ist
- Determiniertheit - Ausgabe ist immer eindeutig bestimmt
- Platzkomplexität im Sinne vom Speicherplatz
- Zeitkomplexität - Terminierung innerhalb eines angemessenen Zeitpunkts
Klasse von Problemen
Probleme mit praktisch umsetzbarem Algorithmus
Probleme, die möglicherweise einen umsetzbaren Algorithmus haben
Probleme ohne praktikabel umsetzbaren Algorithmus
Muster Pseudocode
Eingabe:
Ausgabe:
Problem: <beschreibung></beschreibung>
- Anweisung
- Solange first <= last
1.
Search Algorithm - Binary Search
var l = 0;
var r = a.length();
while (l <= r) {
var m = (l+r) / 2;
if (s < a[l]) {
r = m-1;
} else if (s > a[l]) {
l = m+1;
} else {
return m;
}
}
Flussdiagram Elements
Use connector for a loop
Use rectangle for an instruction
Algorithmus - ggt
1) Falls a == b, return a
2) if (a > b) then swap(a,b) goto 1)
3) if (a < b) then b := b - a; goto 1)
Definition Menge mit Prädikate
Wir bezeichnen mit einer Menge all diejenigen Objekte aus einem Untersuchungsraum, für die ein gewähltes Prädikat zutrifft.
M = { x | P(x) }
Mengen-Definitionen
- Teilmenge (subset)
- Potenzmenge - kartesisches Produkt
- Vereinigung (union)
- Durchschnitt (intersection)
Definition Relation
Sei eine Menge M gegeben. Jede Teilmenge des kartesischen Produktes M x M beschreibt eine zweistellige Relation.
Beispiel: M = {1,2,3}
< - Relation = {(1,2),(1,3),(2,3)}
<= - Relation = {(1,1),(2,2),(3,3)} und <-Relation
Eigenschaften von Relationen
- R ist reflexiv, wenn für alle x in M gilt: xRx
- R ist symmetrisch, wenn für alle x,y in M gilt: wenn xRy, dann auch yRx (Beispiel: Äquivalenz-Relation)
- R ist antisymmetrisch, wenn für alle x,y in M gilt: wenn xRy und x ungleich y, dann gilt niemals yRx
- R ist asymmetrisch, wenn für alle x,y in M gilt: wenn xRy, dann gilt niemals yRx
- R ist transitiv, wenn für alle x,y,z in M gilt: wenn xRy und yRz dann gilt auch xRz
Relationen - Ordnung und Äquivalenz
- R ist eine Halbordnung - partielle Ordnung
- reflexiv
- transitiv
- antisymmetrisch
- R ist Äquivalenzrelation - falls R
- reflexiv
- symmetrisch
- transitiv
n-stellige Operation
Seien die Mengen M1,M2,…,Mn und M gegeben. Jede Zuordnung von Werten des kartesichen Produktes M1 x M2 x … x Mn zu Werten aus M wird als n-stellige Operation bezeichnet
Operationen - Eigenschaften
Sei Op: M x M -> M
- total - falls für jede Kombination aus Eingabewerten ein Wert aus M definiert ist.
- injektiv - falls für jede Kombination aus Eingabewerten ein verschiedenen Wert in M existiert. Keine zwei unterschiedliche Kombinationen haben gleiches Ergebnis. Es muss aber nicht immer ein Mapping existieren.
- surjektiv - wenn für jeden Wert in M mindestens eine Operation/ein Mapping existiert
- bijektiv - sowohl injektiv und surjektiv - ein eins zu eins Mapping
Definition - Algebra
Die Struktur A = (M1,…,Mm,Op1,…,Opn) wird als mehrsortige Algebra bezeichnet.
- universell - wenn die Operationen nur Werte aus Mi liefern
- Beispiel (N,R,+) ist universell, weil es Werte als natürliche Zahlen und reele Zahlen liefert
Definition - Abstrakte Datentypen
Gegeben
- eine Zeichenmenge Σ
- X eine Menge von Elementar-Operanden
- Ein korrekter Term ist entweder
- eine Konstante a aus der Menge X
- eine Anwendung einer Operation f(a,b,…) mit f in Σ, wobei die Anzahl der Operanden a,b,… der Stelligkeit von f entspricht und jeder Operand ein korrekter Term ist.
- Seien eine Signatur Σ, eine Menge von Elementaroperanden X und die Menge aller korrekten Terme zu Σ und X gegeben. Dann heisst die Struktur aus (T,Σ,Q) abstrakte Algebra oder abstrakter Datentyp, wenn Q eine Menge von Axiomen darstellt.