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
Wie kann ein ÖPNV-Netz als Graph abgebildet werden? | 1
* Knoten: Haltestellen * Kante: Verbindung
26
Wie kann ein Freundschaftsnetzwerk als Graph dargestellt werden? | 1
* Knoten: Person * Kante: Freundschaft
27
Was ist die Hauptmotivation von Blockchains? | 2
* Transaktionen zwischen Partnern * ohne zentrale Instanz * vertrauenswürdig, transparent, manipulationssicher * Nachteile einer zentralen Speicherung
28
Was sind die Nachteile einer zentralen Speicherung von Daten? | 2
* Ausfall eines Servers o. zentralen Instanz * Datenmissbrauch * Hackerangriffe
29
Was sind die Nachteile von Blockchains? (optional) | 2
* hohe Transaktionskosten * langsame Transaktionsgeschwindigkeiten * hoher Energieverbrauch (wegen Pow Konsensmechanismus)
30
Wie funktioniert eine Blockchain? Erkläre kurz | 2
* Daten in langer, verknüpfter Kette abgelegt * von jedem einsehbar * dezentral auf Computern/Servern vieler Nutzer * Konsensverfahren (zB PoW)
31
Was ist ein Nonce? | 2
* Ziffernkette * nur für einmaligen Einsatz gewählt
32
Was ist Proof of Work? | 2
* Konsens-Algorithmus * Validierung von Transaktionen
33
Was sind abstrakte Datentypen? | 3
* Grundlage für weiterführende Konzepte wie Objekte und Klassen * Definition gemeinsamer Eigenschaften für mehrere Datenstrukturen
34
Was ist ein Objekt? | 3
* Zusammenschluss von Informationen * Instanz * Attribute und Funktionen
35
Was sind Klassen? | 3
* Definition d. Attribute und Funktionen * Beziehungen möglich * Ober- Unterklassen
36
Was ist Generalisierung? | 3
* Vererbung * Sichtweise in andere Richtung (von Unterklasse zu Oberklasse)
37
Was ist eine abstrakte Klasse? | 3
* Instanzlose Klassen * kann Unterklassen haben * zB Auto, dann müssen Instanzen in Unterklassen liegen (zB Sportwage, Limousine, etc)
38
Was ist multiple Vererbung? | 3
* Klassen mit mehreren Oberklassen * Risiko: versch. Klassen mit untersch. Eigenschaften - hohes Risiko von Widersprüchen in Definitionen
39
Was ist Polymorphie? | 3
* Implementierte Objekte können versch. Datentypen weiterverarbeiten * je nach Datentyp: unterschiedliche Implementierungen
40
Welche Arten von Polymorphismus gibt es? | 3
* AdHoc-Polymorphismus * Inklusion-Polymorphismus
41
Was ist AdHoc-Polymorphie? | 3
* Methoden- oder Operatorüberladung * zur Kompilierzeit (statisch)
42
Was ist Inklusion-Polymorphismus? | 3
* erlaubt Vererbung und Methodenüberschreibung * Zur Laufzeit (dynamisch)
43
Was sind die Vorteile von Polymorphismus? | 3
* Nutzung allgemeiner Schnittstellen (unabhängig von konkreter Implementierung) * Funktionalität in Oberklassen definiert und in Unterklassen angepasst