• Keine Ergebnisse gefunden

186.815 Algorithmen und Datenstrukturen 2 VU 3.0 ¨Ubungstest SS 2012 28. Juni 2012

N/A
N/A
Protected

Academic year: 2022

Aktie "186.815 Algorithmen und Datenstrukturen 2 VU 3.0 ¨Ubungstest SS 2012 28. Juni 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.815 Algorithmen und Datenstrukturen 2 VU 3.0 Ubungstest SS 2012 ¨

28. Juni 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: 18 20 12 50

Erreichte Punkte:

Viel Erfolg!

(2)

Aufgabe 1.A: Skiplisten (18 Punkte)

a) (6 Punkte)

F¨ugen Sie in eine anfangs leere randomisierte Skipliste S die folgenden Elemente gem¨aß ihrer zugeh¨origen H¨ohe in der vorgegebenen Reihenfolge ein:

Schl¨ussel 10 37 25 52 6 48 17 2 12

H¨ohe 0 1 0 0 0 1 2 3 1

Zeichnen Sie die Skipliste S (nur das Endresultat).

b) (4 Punkte)

Suchen Sie nach der Zahl 28. Wie viele Schl¨usselvergleiche waren hierf¨ur notwen- dig? (Vergleiche mit∞ z¨ahlen mit.)

c) (4 Punkte)

Suchen Sie nach der Zahl 48. Wie viele Schl¨usselvergleiche waren hierf¨ur notwen- dig? (Vergleiche mit∞ z¨ahlen mit.)

d) (4 Punkte)

Es wird ein neues Element in eine randomisierte Skipliste eingef¨ugt, wobei die M¨unzwurf-Methode aus der Vorlesung bzw. aus dem Skriptum verwendet wird.

Wie groß ist die Wahrscheinlichkeit, dass der Container des neuen Elements die H¨ohe 4 annehmen wird?

(3)

Aufgabe 2.A: Approximationsalgorithmen (20 Punkte) Bei derBest-Fit-Heuristikf¨ur das Bin-Packing-Problem wird jeder Gegenstand nicht in die ehestm¨ogliche Kiste gelegt sondern in die Kiste, die der Gegenstand am besten ausf¨ullt, d.h., dort wo am wenigsten Platz ¨uberbleibt.

Der folgende AlgorithmusBest-Fit(Gegenst¨ande 1, . . . , N) soll genau diese Idee ver- wirklichen, wobeiK die Gr¨oße jeder Kiste,fj den noch freien Platz in Kistej undwi die Gr¨oße von Gegenstandiangibt. Sie k¨onnen davon ausgehen, dasswi ≤K, ∀i= 1, . . . , N, und N >0 gilt.

Best-Fit(Gegenst¨ande 1, . . . , N) Eingabe: Gegenst¨ande 1, . . . , N

Ausgabe: m Kisten, die die Gegenst¨ande 1, . . . , N beinhalten

1: m = 1; fm =K;

2: f¨ur i= 1, . . . , N {

3: bestbin = 0;bestplatz =∞;gefunden = false;

4: f¨ur j = 1, . . . , m {

5: restplatz =fj −wi;

6: falls restplatz ≥0∧ restplatz <bestplatz dann {

7: bestplatz =restplatz;

8: bestbin =j;

9: gefunden = true;

10: }

11: }

12: falls gefunden dann {

13: packe Gegenstand i in Kistebestbin;

14: fbestbin =fbestbin−wi;

15: } sonst {

16: m=m+ 1;

17: packe Gegenstand i in Kistem;

18: fm =K−wi;

19: }

20: }

a) (8 Punkte) F¨uhren Sie den Algorithmus Best-Fit f¨ur K = 8 auf die folgende Eingabereihenfolge aus und geben Sie an, welche Kiste welchen Gegenstand am Ende enth¨alt:

Gegenstand i 1 2 3 4 5 6 7 Gr¨oße wi 4 5 6 2 4 1 2

b) (4 Punkte) Welche (asymptotisch relative) Approximationsg¨utegilt f¨urBest-Fit jedenfalls? Begr¨unden Sie Ihre Antwort.

c) (8 Punkte) Zeigen Sie mit einem Beispiel (mit mindestens 6 Gegenst¨anden), dass dieses Verfahren nicht immer eine optimale L¨osung liefert. Was k¨onnen Sie aus Ihrem Beispiel ¨uber die Approximationsg¨ute schließen?

(4)

Aufgabe 3.A: Theorie (12 Punkte)

a) Gegeben sei ein dynamisches ArrayA, in dem Elemente eingef¨ugt werden k¨onnen.

WennAnoch nicht voll ist, wird ein neues Element an eine beliebige freie Position eingef¨ugt. Wenn A voll ist, wird seine Gr¨oße verdoppelt, um das neue Element aufzunehmen. Dabei kann es zu Umplatzierungen im Speicher kommen, was einen entsprechenden Aufwand verursacht.

• (2 Punkte)

Geben Sie die Worst-Case Laufzeit f¨ur eine Einf¨uge-Operation in O-Notation an.

• (4 Punkte)

Nehmen Sie an, Sie w¨urden die Potenzialmethode f¨ur eine amortisierte Ana- lyse auf dieses Problem anwenden. Welche Kenngr¨oße kann f¨ur die Potenzi- alberechnug herangezogen werden?

• (3 Punkte)

Geben Sie die amortisierte Laufzeit f¨ur eine Sequenz von n aufeinander- folgenden Einf¨uge-Operationen inO-Notation an.

b) (3 Punkte)

Geben Sie in O-Notation an, wie groß die H¨ohe eines Fibonacci-Heaps maximal werden kann, dern Elemente enth¨alt.

(5)

Technische Universit¨at Wien

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

186.815 Algorithmen und Datenstrukturen 2 VU 3.0 Ubungstest SS 2012 ¨

28. Juni 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: 20 18 12 50

Erreichte Punkte:

Viel Gl¨uck!

(6)

Aufgabe 1.B: Approximationsalgorithmen (20 Punkte) Bei derBest-Fit-Heuristikf¨ur das Bin-Packing-Problem wird jeder Gegenstand nicht in die ehestm¨ogliche Kiste gelegt sondern in die Kiste, die der Gegenstand am besten ausf¨ullt, d.h., dort wo am wenigsten Platz ¨uberbleibt.

Der folgende AlgorithmusBest-Fit(Gegenst¨ande 1, . . . , N) soll genau diese Idee ver- wirklichen, wobeiK die Gr¨oße jeder Kiste,fj den noch freien Platz in Kistej undwi die Gr¨oße von Gegenstandiangibt. Sie k¨onnen davon ausgehen, dasswi ≤K, ∀i= 1, . . . , N, und N >0 gilt.

Best-Fit(Gegenst¨ande 1, . . . , N) Eingabe: Gegenst¨ande 1, . . . , N

Ausgabe: m Kisten, die die Gegenst¨ande 1, . . . , N beinhalten

1: m = 1; fm =K;

2: f¨ur i= 1, . . . , N {

3: bestbin = 0;bestplatz =∞;gefunden = false;

4: f¨ur j = 1, . . . , m {

5: restplatz =fj −wi;

6: falls restplatz ≥0∧ restplatz <bestplatz dann {

7: bestplatz =restplatz;

8: bestbin =j;

9: gefunden = true;

10: }

11: }

12: falls gefunden dann {

13: packe Gegenstand i in Kistebestbin;

14: fbestbin =fbestbin−wi;

15: } sonst {

16: m=m+ 1;

17: packe Gegenstand i in Kistem;

18: fm =K−wi;

19: }

20: }

a) (8 Punkte) F¨uhren Sie den Algorithmus Best-Fit f¨ur K = 10 auf die folgende Eingabereihenfolge aus und geben Sie an, welche Kiste welchen Gegenstand am Ende enth¨alt:

Gegenstand i 1 2 3 4 5 6 7 Gr¨oße wi 6 7 8 2 4 2 1

b) (4 Punkte) Welche (asymptotisch relative) Approximationsg¨utegilt f¨urBest-Fit jedenfalls? Begr¨unden Sie Ihre Antwort.

c) (8 Punkte) Zeigen Sie mit einem Beispiel (mit mindestens 6 Gegenst¨anden), dass dieses Verfahren nicht immer eine optimale L¨osung liefert. Was k¨onnen Sie aus Ihrem Beispiel ¨uber die Approximationsg¨ute schließen?

(7)

Aufgabe 2.B: Skiplisten (18 Punkte)

a) (6 Punkte)

F¨ugen Sie in eine anfangs leere randomisierte Skipliste S die folgenden Elemente gem¨aß ihrer zugeh¨origen H¨ohe in der vorgegebenen Reihenfolge ein:

Schl¨ussel 33 25 41 49 9 8 18 4 14

H¨ohe 1 0 1 0 0 3 1 0 2

Zeichnen Sie die resultierende Skipliste (nur das Endresultat).

b) (4 Punkte)

Suchen Sie nach der Zahl 27. Wieviele Schl¨usselvergleiche waren hierf¨ur notwendig?

(Vergleiche mit∞ z¨ahlen mit.) c) (4 Punkte)

Suchen Sie nach der Zahl 41. Wieviele Schl¨usselvergleiche waren hierf¨ur notwendig?

(Vergleiche mit∞ z¨ahlen mit.) d) (4 Punkte)

Es wird ein neues Element in eine randomisierte Skipliste eingef¨ugt, wobei die M¨unzwurf-Methode aus der Vorlesung bzw. aus dem Skriptum verwendet wird.

Wie groß ist die Wahrscheinlichkeit, dass der Container des neuen Elements die H¨ohe 5 annehmen wird?

(8)

Aufgabe 3.B: Theorie (12 Punkte)

a) Gegeben sei ein dynamisches ArrayA, in dem Elemente eingef¨ugt werden k¨onnen.

WennAnoch nicht voll ist, wird ein neues Element an eine beliebige freie Position eingef¨ugt. Wenn A voll ist, wird seine Gr¨oße verdoppelt, um das neue Element aufzunehmen. Dabei kann es zu Umplatzierungen im Speicher kommen, was einen entsprechenden Aufwand verursacht.

• (2 Punkte)

Geben Sie die Worst-Case Laufzeit f¨ur eine Einf¨uge-Operation in O-Notation an.

• (4 Punkte)

Nehmen Sie an, Sie w¨urden die Potenzialmethode f¨ur eine amortisierte Ana- lyse auf dieses Problem anwenden. Welche Kenngr¨oße kann f¨ur die Potenzi- alberechnug herangezogen werden?

• (3 Punkte)

Geben Sie die amortisierte Laufzeit f¨ur eine Sequenz von n aufeinander- folgenden Einf¨uge-Operationen inO-Notation an.

b) (3 Punkte)

Geben Sie in O-Notation an, wie groß die H¨ohe eines Fibonacci-Heaps maximal werden kann, dern Elemente enth¨alt.

Referenzen

ÄHNLICHE DOKUMENTE

Bei einem Fehler (falsches oder fehlendes Kreuz) wird noch 1 Punkt vergeben, bei zwei oder mehr Fehlern werden 0 Punkte f¨ ur diese Aufgabe vergeben.. Wenn es einen

Es wird Eigeninitiative und selbstst ¨andiges Arbeiten erwartet Eine Vorlesung ist keine (w ¨ochentliche) Fernsehserie.. ▶ Eine Vorlesung wird von den H ¨orern und vom

• 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

F¨ur den Datentyp der dynamisch disjunkten Mengen (DDM, Union Find) ben¨otigt man ein Array father, das jedem Knoten v einen Vorg¨anger father[v] zuweist, sowie die

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

Kann die folgende Liste L einer Reihenfolge von Kanten entsprechen, die von Prim’s (egal welcher Startknoten) bzw.. Welche Knoten enth¨ alt die Menge X am Ende?. b)

• (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