Beruflich Dokumente
Kultur Dokumente
Nachname:
Bitte tragen Sie Ihre Matrikelnummer
Vorname: und Ihren Namen in die dafür vorge-
sehenen Felder ein. Bitte in deutlicher
Hörsaal: Handschrift mit einem dokumentech-
Sitzplatz: ten Stift (nicht Bleistift).
Hinweise
Bestehensgrenze: 25 Punkte.
Bearbeitungszeit: 180 Minuten.
Aufgabe 1 2 3 4 5 6 7 8
max. Punktzahl 4 4 4 6 8 8 8 8 Punkte
erreichte Pkt. Note
Klausur „DAP 2“ vom 05.08.2021, TU Dortmund, M. Niewerth
10 26
3 7 14 17 22 42 77
Fügen Sie die folgenden Elemente in der angegebenen Reihenfolge in den B-Baum
T ein:
Geben Sie den Baum T nach jeder Operation an. Kennzeichnen Sie zudem für jede
Einfüge-Operationen die ggf. durchgeführten Split-Operationen.
Klausur „DAP 2“ vom 05.08.2021, TU Dortmund, M. Niewerth
Klausur „DAP 2“ vom 05.08.2021, TU Dortmund, M. Niewerth
g
10 20
15
6 5
b e f
4 9
11 6
8
a c h i
9 3 8
Führen Sie den Algorithmus von Prim zur Berechnung von minimalen Spannbäu-
men auf dem gegebenen Graphen mit Startknoten h aus. Tragen Sie dazu für jede
Iteration in die Tabelle ein:
Hinweis: Auf der nächsten Seite steht Ihnen bei Bedarf eine Ersatztabelle zur
Verfügung. Bei Gebrauch der Ersatztabelle ist die erste Tabelle kenntlich durch-
zustreichen.
Extract-Min Knoten d[a] d[b] d[c] d[e] d[f ] d[g] d[h] d[i]
– ∞ ∞ ∞ ∞ ∞ ∞ 0 ∞
h X
Klausur „DAP 2“ vom 05.08.2021, TU Dortmund, M. Niewerth
Ersatztabelle (bei Benutzung dieser Tabelle muss die obere Tabelle durchgestri-
chen werden!):
Extract-Min Knoten d[a] d[b] d[c] d[e] d[f ] d[g] d[h] d[i]
– ∞ ∞ ∞ ∞ ∞ ∞ 0 ∞
h X
Klausur „DAP 2“ vom 05.08.2021, TU Dortmund, M. Niewerth
LCS(S1 , S2 ) A G A C T A A
G
T
A
T
A
A
G
LCS =
Klausur „DAP 2“ vom 05.08.2021, TU Dortmund, M. Niewerth
Ersatztabelle (bei Benutzung dieser Tabelle muss die obere Tabelle durchgestri-
chen werden!):
LCS(S1 , S2 ) A G A C T A A
G
T
A
T
A
A
G
LCS =
Klausur „DAP 2“ vom 05.08.2021, TU Dortmund, M. Niewerth
3 1 2 4
1 4 3 2
c) Beweisen Sie die Korrektheit Ihres Algorithmus, d.h. dass ihr Algorithmus für
jeden ungerichteten Graphen G mit maximalem Knotengrad d eine (d + 1)-
Färbung bestimmt.
Hinweis: Hier soll nur die Korrektheit und nicht die Optimalität bewiesen
werden, d.h. das „Der Gierige liegt vorn“-Verfahren ist unangebracht.
Klausur „DAP 2“ vom 05.08.2021, TU Dortmund, M. Niewerth
Klausur „DAP 2“ vom 05.08.2021, TU Dortmund, M. Niewerth
Klausur „DAP 2“ vom 05.08.2021, TU Dortmund, M. Niewerth
Klausur „DAP 2“ vom 05.08.2021, TU Dortmund, M. Niewerth
b) Analysieren Sie die Laufzeit Ihres Algorithmus. Sie dürfen das Mastertheo-
rem verwenden.
a) Geben Sie eine rekursive Formulierung für K(i, w, a) an, wobei K(i, w, a) die
maximale aufsummierte Kampfkraft eines Teams ist, das maximal w Kilo-
gramm wiegt, maximal a Quadratmeter Platz benötigt und nur die ersten i
Rächer verwendet.
c) Geben Sie einen Algorithmus in Pseudocode an, der auf dem Prinzip der
dynamischen Programmierung beruht und die maximale Kampfkraft einer
Teamzusammenstellung zurück gibt. Der Algorithmus erhält als Eingabe die
Zahl n der Rächer und die Arrays w, a und k, die das Gewicht, die Transport-
fläche und die Kampfkraft der n zur Verfügung stehender Rächer enthalten.
• Insert(i): Fügt den Wert i ∈ {1, . . . , k} in die Datenstruktur ein (wenn der
Wert bereits existiert, soll nichts geschehen).
• ExtractReverseMax(): Gibt den Wert i zurück, der (unter allen in der Daten-
struktur gespeicherten Werten) den größten Rückwärtswert hat, und entfernt
i anschließend aus der Datenstruktur.
Der Rückwärtswert rev(i) eines Wertes i ∈ {1, . . . , k} kann berechnet wer-
den, indem die Reihenfolge der Dezimalstellen von i umgedreht wird.
Beispiele: rev(1337) = 7331, rev(82956) = 65928, rev(1) = 1
Zusatzblatt zu Aufgabe:
Klausur „DAP 2“ vom 05.08.2021, TU Dortmund, M. Niewerth
Zusatzblatt zu Aufgabe: