• Keine Ergebnisse gefunden

186.813 Algorithmen und Datenstrukturen 1 VU 6.0 2. ¨ Ubungstest SS 2012

N/A
N/A
Protected

Academic year: 2022

Aktie "186.813 Algorithmen und Datenstrukturen 1 VU 6.0 2. ¨ Ubungstest SS 2012"

Copied!
8
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Technische Universit¨at Wien

Institut f¨ur Computergraphik und Algorithmen Arbeitsbereich f¨ur Algorithmen und Datenstrukturen

186.813 Algorithmen und Datenstrukturen 1 VU 6.0 2. ¨ Ubungstest SS 2012

31. Mai 2012

Machen Sie die folgenden Angaben bitte in deutlicher Blockschrift:

Nachname: Vorname:

Matrikelnummer: Studienkennzahl:

Anzahl abgegebener Zusatzbl¨atter: Unterschrift:

Legen Sie w¨ahrend der Pr¨ufung Ihren Ausweis f¨ur Studierende vor sich auf das Pult.

Sie k¨onnen die L¨osungen entweder direkt auf die Angabebl¨atter oder auf Zusatzbl¨atter schreiben, die Sie von der Aufsicht erhalten. Es ist nicht zul¨assig, eventuell mitgebrachtes eigenes Papier zu verwenden. Benutzen Sie bitte dokumentenechte Schreibger¨ate (keine Bleistifte)!

Die Verwendung von Taschenrechner, Mobiltelefonen, PDAs, Digitalkameras, Skripten, B¨uchern, Mitschriften, Ausarbeitungen oder vergleichbaren Hilfsmitteln ist unzul¨assig.

A1: A2: A3: Summe:

Erreichbare Punkte: 16 16 18 50

Erreichte Punkte:

Viel Erfolg!

(2)

Aufgabe 1.A: Hashtabellen (16 Punkte)

F¨ugen Sie die folgenden Zahlen in die jeweiligen Hashtabellen ein, indem Sie die ange- gebenen Hashfunktionen und Strategien f¨ur die Kollisionsbehandlung benutzen.

a) (4 Punkte)

Einzuf¨ugende Zahl: 14

Kollisionsbehandlung: Lineares Sondieren mit Schrittweite von 1 Hashfunktion:

h0(k) = k mod 5

Hashtabelle:

0 1 2 3 4

5 9

b) (4 Punkte)

Einzuf¨ugende Zahl: 21

Kollisionsbehandlung: Quadratisches Sondieren mitc1 =c2 = 12 Hashfunktion:

h0(k) = k mod 7

Hashtabelle:

0 1 2 3 4 5 6

14 8 2 3

c) (4 Punkte)

Einzuf¨ugende Zahl: 15

Kollisionsbehandlung: Double Hashingohne der Verbesserung nach Brent Hashfunktionen:

h1(k) =k mod 7 h2(k) = (k mod 6) + 1

Hashtabelle:

0 1 2 3 4 5 6

22 2 19

d) (4 Punkte)

Einzuf¨ugende Zahl: 15

Kollisionsbehandlung: Double Hashingmit der Verbesserung nach Brent

Wird ein bereits vorhandenes Element verschoben, so muss die neue Position dieses Elementes eindeutig gekennzeichnet werden.

Hashfunktionen:

h1(k) =k mod 7 h2(k) = (k mod 6) + 1

Hashtabelle:

0 1 2 3 4 5 6

22 2 19

(3)

Aufgabe 2.A: Optimierung (16 Punkte) Gegeben ist der folgende gewichtete, ungerichtete Graph G:

A

B C

F H

J I

G E

D

4 3

4

2 5

5 2

4 3

5 5

3 5

3 4

2 3

a) (12 Punkte)

F¨uhren Sie im Graphen G die Algorithmen von Prim und Kruskal zum Finden eines minimalen Spannbaums (MST) durch (die Kantengewichte stehen bei den Kanten) und tragen Sie die Kanten in der Reihenfolge, wie sie zu dem Spannbaum hinzugef¨ugt werden, in die unten angef¨uhrte Tabelle ein.

Falls sich Ihnen bei der Auswahl der n¨achsten Kante mehrere M¨oglichkeiten bie- ten, dann k¨onnen Sie zwischen diesen M¨oglichkeiten frei w¨ahlen. Falls Sie einen Startknoten ben¨otigen, w¨ahlen Sie F.

Hinweis: Es werden nicht unbedingt alle Zeilen ben¨otigt.

Reihenfolge Prim Kruskal 1. Kante

2. Kante 3. Kante 4. Kante 5. Kante 6. Kante 7. Kante 8. Kante 9. Kante 10. Kante 11. Kante

b) (4 Punkte)

Kann die folgende Liste L einer Reihenfolge von Kanten entsprechen, die von Prim’s(egal welcher Startknoten) bzw.Kruskal’sMST Algorithmus aufGerzeugt wurde? Begr¨unden Sie Ihre Antwort.

L=h(G, I), (I, J), (D, G), (G, H), (C, D), (D, F), (A, B), (A, C), (D, E)i

(4)

Aufgabe 3.A: Graphen (18 Punkte) Gegeben ist der folgende Algorithmus f¨ur ungerichtete, zusammenh¨angende Graphen:

Was-bin-ich(G, s, t)

Eingabe: Graph G= (V, E) und Knoten s, t∈V

Ausgabe: Knotenmenge X

1: markiert =;

2: X =V\{s, t}; //Xist global

3: foo(G, s, t);

4: gebe X aus;

foo(G, v, t)

1: markiert =markiert ∪ {v};

2: falls v 6=t dann {

3: f¨ur alle Knotenw aus N(v){

4: falls w /∈markiert dann {

5: foo(G, w, t);

6: }

7: }

8: } sonst {

9: X =X∩markiert;

10: }

11: markiert =markiert \ {v}; Weiters ist ein Graph G= (V, E) gegeben:

s f

a

b

c d

t

e

a) (5 Punkte)

F¨uhren Sie den AlgorithmusWas-bin-ich(G, s, t) aus. Welche Knoten enth¨alt die Menge X am Ende?

b) (3 Punkte)

Welche Knoten enth¨alt die Mengemarkiert am Ende?

c) (3 Punkte)

Geben Sie die Laufzeit des Algorithmus in Θ-Notation in Abh¨angigkeit geeigneter Kenngr¨oßen an.

d) (2 Punkte)

Auf welchem aus der Vorlesung bekannten Verfahren beruht der AlgorithmusWas- bin-ich?

e) (5 Punkte)

Beschreiben Sie m¨oglichst kurz und pr¨azise die Funktion dieses Algorithmus.

Welche Bedeutung haben die Elemente der Menge X?

(5)

Technische Universit¨at Wien

Institut f¨ur Computergraphik und Algorithmen Arbeitsbereich f¨ur Algorithmen und Datenstrukturen

186.813 Algorithmen und Datenstrukturen 1 VU 6.0 2. ¨ Ubungstest SS 2012

31. Mai 2012

Machen Sie die folgenden Angaben bitte in deutlicher Blockschrift:

Nachname: Vorname:

Matrikelnummer: Studienkennzahl:

Anzahl abgegebener Zusatzbl¨atter: Unterschrift:

Legen Sie w¨ahrend der Pr¨ufung Ihren Ausweis f¨ur Studierende vor sich auf das Pult.

Sie k¨onnen die L¨osungen entweder direkt auf die Angabebl¨atter oder auf Zusatzbl¨atter schreiben, die Sie von der Aufsicht erhalten. Es ist nicht zul¨assig, eventuell mitgebrachtes eigenes Papier zu verwenden. Benutzen Sie bitte dokumentenechte Schreibger¨ate (keine Bleistifte)!

Die Verwendung von Taschenrechner, Mobiltelefonen, PDAs, Digitalkameras, Skripten, B¨uchern, Mitschriften, Ausarbeitungen oder vergleichbaren Hilfsmitteln ist unzul¨assig.

B1: B2: B3: Summe:

Erreichbare Punkte: 16 16 18 50

Erreichte Punkte:

Viel Gl¨uck!

(6)

Aufgabe 1.B: Optimierung (16 Punkte) Gegeben ist der folgende gewichtete, ungerichtete Graph G:

A

B C

F H

J I

G E

D

4 3

4

2 5

5 2

4 3

5 5

3 5

3 4

2 3

a) (12 Punkte)

F¨uhren Sie im Graphen G die Algorithmen von Prim und Kruskal zum Finden eines minimalen Spannbaums (MST) durch (die Kantengewichte stehen bei den Kanten) und tragen Sie die Kanten in der Reihenfolge, wie sie zu dem Spannbaum hinzugef¨ugt werden, in die unten angef¨uhrte Tabelle ein.

Falls sich Ihnen bei der Auswahl der n¨achsten Kante mehrere M¨oglichkeiten bie- ten, dann k¨onnen Sie zwischen diesen M¨oglichkeiten frei w¨ahlen. Falls Sie einen Startknoten ben¨otigen, w¨ahlen Sie E.

Hinweis: Es werden nicht unbedingt alle Zeilen ben¨otigt.

Reihenfolge Kruskal Prim 1. Kante

2. Kante 3. Kante 4. Kante 5. Kante 6. Kante 7. Kante 8. Kante 9. Kante 10. Kante 11. Kante

b) (4 Punkte)

Kann die folgende Liste L einer Reihenfolge von Kanten entsprechen, die von Prim’s(egal welcher Startknoten) bzw.Kruskal’sMST Algorithmus aufGerzeugt wurde? Begr¨unden Sie Ihre Antwort.

L=h(G, I), (I, J), (D, G), (C, D), (A, C), (A, B), (G, H), (F, G), (A, E)i

(7)

Aufgabe 2.B: Hashtabellen (16 Punkte)

F¨ugen Sie die folgenden Zahlen in die jeweiligen Hashtabellen ein, indem Sie die ange- gebenen Hashfunktionen und Strategien f¨ur die Kollisionsbehandlung benutzen.

a) (4 Punkte)

Einzuf¨ugende Zahl: 2

Kollisionsbehandlung: Double Hashingohne der Verbesserung nach Brent Hashfunktionen:

h1(k) =k mod 7 h2(k) = (k mod 6) + 1

Hashtabelle:

0 1 2 3 4 5 6

15 16 12

b) (4 Punkte)

Einzuf¨ugende Zahl: 2

Kollisionsbehandlung: Double Hashingmit der Verbesserung nach Brent

Wird ein bereits vorhandenes Element verschoben, so muss die neue Position dieses Elementes eindeutig gekennzeichnet werden.

Hashfunktionen:

h1(k) =k mod 7 h2(k) = (k mod 6) + 1

Hashtabelle:

0 1 2 3 4 5 6

15 16 12

c) (4 Punkte)

Einzuf¨ugende Zahl: 9

Kollisionsbehandlung: Lineares Sondieren mit Schrittweite von 1 Hashfunktion:

h0(k) = k mod 5

Hashtabelle:

0 1 2 3 4

5 14

d) (4 Punkte)

Einzuf¨ugende Zahl: 14

Kollisionsbehandlung: Quadratisches Sondieren mitc1 =c2 = 12 Hashfunktion:

h0(k) = k mod 7

Hashtabelle:

0 1 2 3 4 5 6

21 8 2 3

(8)

Aufgabe 3.B: Graphen (18 Punkte) Gegeben ist der folgende Algorithmus f¨ur ungerichtete, zusammenh¨angende Graphen:

Was-bin-ich(G, s, t)

Eingabe: Graph G= (V, E) und Knoten s, t∈V

Ausgabe: Knotenmenge X

1: markiert =;

2: X =V\{s, t}; //Xist global

3: foo(G, s, t);

4: gebe X aus;

foo(G, v, t)

1: markiert =markiert ∪ {v};

2: falls v 6=t dann {

3: f¨ur alle Knotenw aus N(v){

4: falls w /∈markiert dann {

5: foo(G, w, t);

6: }

7: }

8: } sonst {

9: X =X∩markiert;

10: }

11: markiert =markiert \ {v}; Weiters ist ein Graph G= (V, E) gegeben:

b t

s

c

d e

a

f

a) (5 Punkte)

F¨uhren Sie den AlgorithmusWas-bin-ich(G, s, t) aus. Welche Knoten enth¨alt die Menge X am Ende?

b) (3 Punkte)

Welche Knoten enth¨alt die Mengemarkiert am Ende?

c) (3 Punkte)

Geben Sie die Laufzeit des Algorithmus in Θ-Notation in Abh¨angigkeit geeigneter Kenngr¨oßen an.

d) (2 Punkte)

Auf welchem aus der Vorlesung bekannten Verfahren beruht der AlgorithmusWas- bin-ich?

e) (5 Punkte)

Beschreiben Sie m¨oglichst kurz und pr¨azise die Funktion dieses Algorithmus.

Welche Bedeutung haben die Elemente der Menge X?

Referenzen

ÄHNLICHE DOKUMENTE

• Schreiben Sie detaillierten Pseudocode f¨ur eine effiziente rekursive Proze- dur, die die H¨ohe x.heigth und die Balancierung x.bal jedes Knotens x eines nat¨urlichen

a) (6 Punkte) F¨uhren Sie in dem Graphen G den Algorithmus von Prim zum Finden eines minimalen Spannbaums durch (die Zahlen bei den Kanten bezeichnen die jeweiligen

• F¨uhren Sie im Graphen G die Algorithmen von Prim und Kruskal zum Finden eines minimalen Spannbaums durch (die Kantengewichte stehen bei den Kanten) und tragen Sie jeweils

Beachten Sie, dass zu einem Beweis auch die Angabe der notwendigen Konstanten (inkl.. Welche Darstellungsform f¨ur den Graphen ist aus Effizienzgr¨unden zu w¨ahlen: Adjazenzmatrix

• (4 Punkte) Geben Sie die Laufzeit von Sortieren durch Fachverteilung in Abh¨ angig- keit von n und l f¨ ur den besten und schlechtesten Fall in Θ-Notation an und begr¨ unden Sie

Schreiben Sie in detailliertem Pseudocode eine Methode checkBalance(root), die f¨ ur einen Baum mit Wurzelknoten root uberpr¨ ¨ uft, ob es sich um einen g¨ ultigen AVL-Baum

Wenden Sie Sortiere(A, n) auf diese Folge an und schreiben Sie dabei den Zustand der Eingabefolge zu Beginn jedes Durchlaufs der wiederhole-Schleife auf.. Beschreiben Sie

Aufgabe 2.A: Approximationsalgorithmen (20 Punkte) Bei der Best-Fit-Heuristik f¨ ur das Bin-Packing-Problem wird jeder Gegenstand nicht in die ehestm¨ ogliche Kiste gelegt sondern