Lecture 8 Flashcards

(8 cards)

1
Q

Welcher Trick vereinfacht Verwaltung und Spezialfälle einer DLL?

A

Ein Dummy-Element h ohne Nutzdaten, dessen next und prev initial auf sich selbst zeigen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Formuliere die zentrale Klasseninvariante einer DLL mit Dummy.

A

Für jedes List-Objekt gilt: next->prev == prev->next == this.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Warum bringt ein extra Zeiger aufs letzte Element einer SList Vorteil?

A

Damit wird pushBack in O(1) möglich (kein Durchlaufen der Liste).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Welche Hauptgründe nennt die Vorlesung für spezialisierte Stack/Queue-Typen, obwohl Listen O(1) bieten?

A

1) Lesbarere, fehlerärmere Programme; 2) schlankere Implementierungen (platz-/cachegünstig); 3) bessere Sekundärspeicher-Eigenschaften.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Wie wird die Größe der zirkulären Queue berechnet?

A

size() = (t – h + n + 1) % (n+1)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Warum hat das Array n+1 statt n Einträge bei Maximalgröße n?

A

Um leere und volle Zustände eindeutig mittels h/t unterscheiden zu können (immer ein Feld Reserve).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Welche Praxis-Nachteile hätte eine sortierte Liste im Vergleich zum Array?

A

Kein Cache-freundlicher Speicher, sequentielle Suche, unvorteilhaft bei Festplattenzugriffen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Wichtigstes Take-away dieser Vorlesung?

A

Wahl der passenden Sequenz-Struktur (Feld, DLL, SLL, Stack, Queue, Deque) beeinflusst Laufzeit & Speicher drastisch;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly