Datenstrukturen Flashcards

Datenstrukturen, Blockchain, Abstrakte Datentypen

1
Q

Was sind Datenstrukturen? Gib ein Beispiel

1

A
  • Queues
  • FIFO (First In, First Out)
  • Durckaufträge sequenziell in Warteschlange abgelegt und in Reihenfolge abgearbeitet
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Was ist Enqueue?

1

A
  • Element wird Warteschlange hinzugefügt
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Was ist Dequeue?

1

A
  • Element wird Warteschlange entnommen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Wo findet man Warteschlangen?

1

A
  • Drucker
  • Kundenservice-Hotline
  • Verkehr
  • Aufzüge
  • Fast-Food-Bestellungen
  • Ticket-Schalter
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Was ist ein Heap?

1

A
  • gleicht einem Baum
  • Hierarchisch
  • HIFO (Highest In, First Out)
  • Schlüssel - Priorität
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Was ist FIFO?

1

A
  • First In, First Out
  • Zuerst eingelagertes Element wird zuerst verarbeitet
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Was ist LIFO?

1

A
  • Last In, First Out
  • zuletzt eingelagertes Element wird zuerst verarbeitet (zB Stack)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Was ist HIFO?

1

A
  • Highest In, First Out
  • Element mit höchstem Wert wird zuerst entnommen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Was ist LOFO?

1

A
  • Lowest In, First Out
  • Element mit niedrigstem Wert wird entnommen (Gegenteil von HIFO)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Was ist FEFO?

1

A
  • First Expired, First Out
  • Elemente mit frühestem Ablaufdatum werden zuerst verarbeitet
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Was sind Max-Heaps?

1

A
  • Wurzelelement: immer höchste Priorität
  • Kinderknoten: kleinere Priorität als Eltern
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Was sind Min-Heaps?

1

A
  • Wurzelknoten: kleinste Priorität
  • Kinderknoten: höhere Priorität als Eltern
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Welche Funktionalitäten hat ein Heap?

1

A
  • Insert()
  • Remove()
  • ExtractMin(): Auslesen, gibt Element mit geringster Priorität zurück
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Was ist ein binärer Heap?

1

A
  • Baumstruktur, bei dem Eltern nur genau zwei Kinder haben können
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Was ist ein Stack?

1

A
  • Stapelspeicher
  • LIFO (Last-In, First-Out)
  • auch: Kellerspeicher
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Wo werden Stacks verwendet?

1

A
  • Mikroprozessoren
  • hardwarenahes Verwalten von Information ermöglicht
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Welche Funktionen haben Stacks?

1

A
  • Push: Neues Element auf Stack abgelegt
  • Pop: Oberstes Element aus Stack entnommen
  • Peek: oberstes Element wird ausgegeben, ohne aus Speicher entfernt zu werden
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Was sind Graphen?

1

A
  • Menge aus Knoten (Elementen E) und Kanten (K)
19
Q

Was ist ein Multigraph?

1

A
  • erlaubt mehrere Kanten zwischen zwei Knoten (zB bei Modellierung von Straßennetzen)
20
Q

Was sind ungerichtete Graphen?

1

A
  • Graph ohne direkte Richtung
21
Q

Was sind gerichtete Graphen?

1

A
  • Kanten gehen in eine Richtung
  • zB Straßennetz mit Einbahnstraßen
22
Q

Was sind ungewichtete Graphen?

1

A
  • keine zusätzlichen Werte an Kanten
  • Kanten = gleichwertig
23
Q

Was sind gewichtete Kanten?

1

A
  • jede Kante besitzt Gewicht (numerischer Wert)
  • Gewicht: Entfernung, Kosten, Kapazitäten, Wahrscheinlichkeiten
24
Q

Wie kann das Internet als Graph abgebildet werden?

1

A
  • Knoten: Netzwerk
  • Kanten: Netzverbindung
25
Q

Wie kann ein ÖPNV-Netz als Graph abgebildet werden?

1

A
  • Knoten: Haltestellen
  • Kante: Verbindung
26
Q

Wie kann ein Freundschaftsnetzwerk als Graph dargestellt werden?

1

A
  • Knoten: Person
  • Kante: Freundschaft
27
Q

Was ist die Hauptmotivation von Blockchains?

2

A
  • Transaktionen zwischen Partnern
  • ohne zentrale Instanz
  • vertrauenswürdig, transparent, manipulationssicher
  • Nachteile einer zentralen Speicherung
28
Q

Was sind die Nachteile einer zentralen Speicherung von Daten?

2

A
  • Ausfall eines Servers o. zentralen Instanz
  • Datenmissbrauch
  • Hackerangriffe
29
Q

Was sind die Nachteile von Blockchains? (optional)

2

A
  • hohe Transaktionskosten
  • langsame Transaktionsgeschwindigkeiten
  • hoher Energieverbrauch (wegen Pow Konsensmechanismus)
30
Q

Wie funktioniert eine Blockchain? Erkläre kurz

2

A
  • Daten in langer, verknüpfter Kette abgelegt
  • von jedem einsehbar
  • dezentral auf Computern/Servern vieler Nutzer
  • Konsensverfahren (zB PoW)
31
Q

Was ist ein Nonce?

2

A
  • Ziffernkette
  • nur für einmaligen Einsatz gewählt
32
Q

Was ist Proof of Work?

2

A
  • Konsens-Algorithmus
  • Validierung von Transaktionen
33
Q

Was sind abstrakte Datentypen?

3

A
  • Grundlage für weiterführende Konzepte wie Objekte und Klassen
  • Definition gemeinsamer Eigenschaften für mehrere Datenstrukturen
34
Q

Was ist ein Objekt?

3

A
  • Zusammenschluss von Informationen
  • Instanz
  • Attribute und Funktionen
35
Q

Was sind Klassen?

3

A
  • Definition d. Attribute und Funktionen
  • Beziehungen möglich
  • Ober- Unterklassen
36
Q

Was ist Generalisierung?

3

A
  • Vererbung
  • Sichtweise in andere Richtung (von Unterklasse zu Oberklasse)
37
Q

Was ist eine abstrakte Klasse?

3

A
  • Instanzlose Klassen
  • kann Unterklassen haben
  • zB Auto, dann müssen Instanzen in Unterklassen liegen (zB Sportwage, Limousine, etc)
38
Q

Was ist multiple Vererbung?

3

A
  • Klassen mit mehreren Oberklassen
  • Risiko: versch. Klassen mit untersch. Eigenschaften - hohes Risiko von Widersprüchen in Definitionen
39
Q

Was ist Polymorphie?

3

A
  • Implementierte Objekte können versch. Datentypen weiterverarbeiten
  • je nach Datentyp: unterschiedliche Implementierungen
40
Q

Welche Arten von Polymorphismus gibt es?

3

A
  • AdHoc-Polymorphismus
  • Inklusion-Polymorphismus
41
Q

Was ist AdHoc-Polymorphie?

3

A
  • Methoden- oder Operatorüberladung
  • zur Kompilierzeit (statisch)
42
Q

Was ist Inklusion-Polymorphismus?

3

A
  • erlaubt Vererbung und Methodenüberschreibung
  • Zur Laufzeit (dynamisch)
43
Q

Was sind die Vorteile von Polymorphismus?

3

A
  • Nutzung allgemeiner Schnittstellen (unabhängig von konkreter Implementierung)
  • Funktionalität in Oberklassen definiert und in Unterklassen angepasst