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
2
Q
Was ist Enqueue?
1
A
- Element wird Warteschlange hinzugefügt
3
Q
Was ist Dequeue?
1
A
- Element wird Warteschlange entnommen
4
Q
Wo findet man Warteschlangen?
1
A
- Drucker
- Kundenservice-Hotline
- Verkehr
- Aufzüge
- Fast-Food-Bestellungen
- Ticket-Schalter
5
Q
Was ist ein Heap?
1
A
- gleicht einem Baum
- Hierarchisch
- HIFO (Highest In, First Out)
- Schlüssel - Priorität
6
Q
Was ist FIFO?
1
A
- First In, First Out
- Zuerst eingelagertes Element wird zuerst verarbeitet
7
Q
Was ist LIFO?
1
A
- Last In, First Out
- zuletzt eingelagertes Element wird zuerst verarbeitet (zB Stack)
8
Q
Was ist HIFO?
1
A
- Highest In, First Out
- Element mit höchstem Wert wird zuerst entnommen
9
Q
Was ist LOFO?
1
A
- Lowest In, First Out
- Element mit niedrigstem Wert wird entnommen (Gegenteil von HIFO)
10
Q
Was ist FEFO?
1
A
- First Expired, First Out
- Elemente mit frühestem Ablaufdatum werden zuerst verarbeitet
11
Q
Was sind Max-Heaps?
1
A
- Wurzelelement: immer höchste Priorität
- Kinderknoten: kleinere Priorität als Eltern
12
Q
Was sind Min-Heaps?
1
A
- Wurzelknoten: kleinste Priorität
- Kinderknoten: höhere Priorität als Eltern
13
Q
Welche Funktionalitäten hat ein Heap?
1
A
- Insert()
- Remove()
- ExtractMin(): Auslesen, gibt Element mit geringster Priorität zurück
14
Q
Was ist ein binärer Heap?
1
A
- Baumstruktur, bei dem Eltern nur genau zwei Kinder haben können
15
Q
Was ist ein Stack?
1
A
- Stapelspeicher
- LIFO (Last-In, First-Out)
- auch: Kellerspeicher
16
Q
Wo werden Stacks verwendet?
1
A
- Mikroprozessoren
- hardwarenahes Verwalten von Information ermöglicht
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
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