Datenstrukturen und Algorithmen 1. Klausur SS 2003 Name, Vorname

Werbung
Datenstrukturen und Algorithmen
1. Klausur SS 2003
Mittwoch, 20. August 2003
Name, Vorname: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Matrikelnummer: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Studiengang: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Bitte Zutreffendes ankreuzen: Vordiplom:
Schein:
Bitte sorgfältig durchlesen und beachten!
Als Hilfsmittel ist nur ein mit Ihrem
Namen versehenes, zweiseitig
handbeschriebenes DIN A4 Blatt erlaubt.
Verwenden Sie kein eigenes Papier,
sondern nur die zur Verfügung gestellten
Blätter.
Prüfen Sie die Vollständigkeit Ihres
Klausurexemplares (Deckblatt,
5 Aufgaben, insgesamt 20 Seiten).
Zusätzliche Blätter erhalten Sie von der
Aufsicht.
Legen Sie Ihren Studentenausweis und
einen Lichtbildausweis auf den Tisch.
Verwenden Sie keinen Rotstift und keinen
Bleistift.
Schreiben Sie auf das Deckblatt, jede
weitere Seite der Klausur und die
zusätzlichen Blätter Ihren Namen, Ihren
Vornamen und Ihre Matrikelnummer.
Viel Erfolg!
Bitte nicht beschriften:
Aufgabe
1
erreichbare Punkte
10
2
12
3
10
erreichte Punkte
1 von 20
4
10
5
6
∑
48
Aufgabe 1
Gegeben sei das folgende Flussnetzwerk mit Quelle q und Senke s. Die Zahlen an den Kanten
geben die Kapazität der jeweiligen Kante an.
1
10
q
30
30
20
30
2
3
50
4
s
40
40
10
40
20
5
30
20
6
50
7
Ermitteln Sie im folgenden den maximalen Fluss von q nach s mit dem Ford-FulkersonAlgorithmus. Wählen Sie dabei in jedem Schritt den vergrößernden Weg, der aus den wenigsten Kanten besteht!
a) Benutzen Sie die Vordrucke auf den folgenden Seiten, um nach jedem Schritt, das residuale
Netzwerk anzugeben. Geben Sie ferner den Weg (Liste der Knoten) und die Größe seines
Flusses an, die zu dem jeweiligen residualen Netzwerk geführt haben.
[6 Pkt.]
b) Tragen Sie in den letzten Vordruck den resultierenden maximalen Fluss ein, indem Sie an die
Kanten ihre Flussbelastung schreiben. Geben Sie außerdem den Wert des maximalen Flusses
an.
[2 Pkt.]
c) Zeichnen Sie in den letzten Vordruck einen minimalen q-s-Schnitt ein und geben Sie den Wert
des Schnittes an.
[1 Pkt.]
d) Die Kapazität welcher einen(!) Kante muss um wieviel erhöht werden, damit der maximale
Fluss einen Wert von 90 besitzt?
[1 Pkt.]
2 von 20
Name, Vorname:
Matrikelnummer:
Weg
mit Fluss
ergibt:
1
q
2
3
4
5
6
7
Weg
mit Fluss
s
ergibt:
1
q
2
3
4
5
6
7
3 von 20
s
Weg
mit Fluss
ergibt:
1
q
2
3
4
5
6
7
Weg
mit Fluss
s
ergibt:
1
q
2
3
4
5
6
7
4 von 20
s
Name, Vorname:
Matrikelnummer:
Weg
mit Fluss
ergibt:
1
q
2
3
4
5
6
7
Weg
mit Fluss
s
ergibt:
1
q
2
3
4
5
6
7
5 von 20
s
Weg
mit Fluss
ergibt:
1
q
2
3
4
5
6
7
s
Maximaler Fluss:
Minimaler Schnitt S T :
S:
T:
1
q
2
3
4
5
6
7
6 von 20
s
Name, Vorname:
Matrikelnummer:
7 von 20
Aufgabe 2
Gesucht ist eine Datenstruktur, die die Operationen insert(x), delete(x), search(x) und smallsum(x) in Zeit O log n unterstützt, wobei die Funktion smallsum(x) das Gesamtgewicht aller
Schlüssel angibt, deren Wert kleiner oder gleich x ist. Alle Schlüssel sind paarweise verschieden.
a) Beschreiben Sie in wenigen kurzen Sätzen, wie eine solche Datenstruktur und die angegebenen Operationen realisiert werden können. Es soll dabei klar werden, dass die Datenstruktur
korrekt arbeitet und dass die gewünschten Laufzeiten erreicht werden.
[6 Pkt.]
b) Geben Sie die Prozedur smallsum(x) in Pseudocode an.
8 von 20
[6 Pkt.]
Name, Vorname:
Matrikelnummer:
9 von 20
10 von 20
Name, Vorname:
Matrikelnummer:
11 von 20
Aufgabe 3
Auf dem Liborifest gibt es eine neue Attraktion: die Halle der Spiegel, ein Irrgarten.
Der Bauplan sieht wie folgt aus:
Eingang
1
2
3
5
6
8
12
16
4
9
7
10
11
13
14
15
17
18
19
Ausgang
a) Modellieren Sie die Halle der Spiegel mit Hilfe eines Graphen G
V E , und stellen Sie
diesen mit Hilfe einer Adjazenzliste dar. Nutzen Sie dazu die im Bauplan verwendeten Raumnummern.
[3 Pkt.]
b) Sei r die Anzahl Räume und t die Anzahl Türen. Geben Sie einen Algorithmus findpath(G,e,a)
in Pseudo-Code an, der bei Eingabe sowohl des Bauplanes G als auch des Eingangs e und
Ausgangs a einen Weg von e nach a ausgibt, auf dem die kleinste Anzahl Türen durchschrit[7 Pkt.]
ten werden muss. Ihr Algorithmus soll dabei Laufzeit O r t haben.
12 von 20
Name, Vorname:
Matrikelnummer:
13 von 20
14 von 20
Name, Vorname:
Matrikelnummer:
15 von 20
Aufgabe 4
Die folgenden Teilaufgaben geben jeweils 2 Punkte bei korrekter Beantwortung. Für falsche
Antworten werden keine Abzüge berechnet:
a) Es gelte für einen rekursiven Algorithmus T 1
T n
9 und T n
14 T
n
4
n2 . Dann gilt
Θ n2
Θ nlog4 14
Θ nlog4 14 log n
Θ nlog14 4
Θ nlog14 4 log n
[2 Pkt.]
b) An welche Position wird die Zahl 25 in die folgende Hash-Tabelle eingefügt, wenn wir
Open-Addressing mit Double-Hashing verwenden, wobei h 1 x
x mod 11 und h2 x
x
mod 3 1 ist.
23
0
14
1
2
7
4
19
31
6
10
[2 Pkt.]
c) Gegeben ist eine Folge von n ganzen Zahlen a1 an für die gilt 1 ai 65536. Welcher
der folgenden Sortieralgorithmen hat für diese Folge die kleinste worst-case Laufzeit im OKalkül?
Insertionsort
Quicksort
Bucketsort
Bubblesort
[2 Pkt.]
d) Gegeben sei der folgende ungerichtete, gewichtete Graph G mit gekennzeichnetem Knoten s.
Geben Sie an, in welcher Reihenfolge die Kanten bei der Anwendung der Algorithmen von
Kruskal und Prim eingefügt werden.
1
5
6
4
2
3
s
7
16 von 20
Name, Vorname:
Matrikelnummer:
Einfügereihenfolge der Kanten bei:
Prim
Kruskal
[2 Pkt.]
e) Gegeben ist folgender AVL-Baum.
30
20
60
25
10
55
50
15
70
80
Zeichnen Sie den Baum, der durch die Operationen INSERT (40) und DELETE (25) entsteht.
[2 Pkt.]
17 von 20
18 von 20
Name, Vorname:
Matrikelnummer:
Aufgabe 5
Die folgenden Aufgaben geben pro richtige Antwort einen Punkt. Für eine falsche Antwort wird
ein Punkt abgezogen! Falls keine Antwort angekreuzt wird, so wird auch kein Punkt abgezogen.
Weniger als 0 Punkte können bei dieser Aufgabe nicht erreicht werden.
a) Die Laufzeit jedes rekursiven Algorithmus kann mit Hilfe des Master-Theorems ermittelt
werden.
Richtig
Falsch
[1 Pkt.]
b) Für die erwartete Höhe E h eines Elementes einer Skipliste gilt E h 2.
Richtig
Falsch
[1 Pkt.]
c) Preorder und Inorder zusammen beschreiben einen binären Wurzelbaum eindeutig.
Richtig
Falsch
[1 Pkt.]
d) Es gibt Eingabefolgen, auf denen der modifizierte Bubble-Sort-Algorithmus weniger Vertauschungen durchführt als der normale“ Bubble-Sort-Algorithmus.
”
Richtig
Falsch
[1 Pkt.]
e) Beim Einfügen eines Elementes in einen AVL-Baum muss man zur Rebalancierung maximal
eine Rotation bzw. Doppelrotation durchführen.
Richtig
Falsch
[1 Pkt.]
f) Die Zahlenfolge (8,3,7,1,2,6,5,4) ist ein MAX-HEAP.
Richtig
Falsch
19 von 20
[1 Pkt.]
20 von 20
Herunterladen