Sie sind auf Seite 1von 5

Algorithmen und Datenstrukturen Prof. Dr. H.

Knebl Hilfsmittel: Formelsammlung, 4 Seiten selbstgefertigte Unterlagen, Taschenrechner

13.07.2009 90 Minuten

Die Lsungen sind mit den Algorithmen der Vorlesung zu erstellen. Der Rechenweg ist aufzuzeigen. Antworo ten sind zu begrnden. u 1. Wie oft wird die Zeichenkette Hallo! durch den folgenden Algorithmus (in Abhngigkeit von n) ausgea geben? Setzen Sie zur Lsung Dierenzengleichungen ein. o DoRec(n) 1 if n > 0 2 then DoRec(n 1); DoRec(n 1) 3 k1 4 for i 1 to n do 5 k 3k 6 for i 1 to k do 7 print(Hallo!)

2. Gegeben seien die Funktionen: f1 (n) = log2 (log2 ( n)), f2 (n) = 22 log2 (n) , f3 (n) = n log2 (n), f4 (n) = log2 ( n3 ). Fr welche (i, j), i = j, gilt fi = O(fj )? u 3. (a) Ein AVL-Baum enthlt die 2 in der Ebene 0, 1 und 12 in der Ebene 1, 11 und 14 in der Ebene 2. a Zeichnen Sie den Baum und fgen Sie anschlieend die 10 ein. Geben Sie die einzelnen Schritte u an. (b) Ein AVL-Baum enthlt die 8 in der Ebene 0, 5 und 10 in der Ebene 1, 2, 6, 9 und 11 in der Ebene a 2, 1, 3, 7 und 12 in der Ebene 3 und 4 in der Ebene 4. Lschen Sie die 9. Geben Sie die einzelnen o Schritte an. (c) Fgen Sie (1, 20), (2, 22), (3, 11), (4, 48), (5, 14), (6, 66), (7, 45), (8, 60) in der angegebenen Reihenu folge in einen leeren probabilistischen Suchbaum ein. Geben Sie die einzelnen Schritte an. 4. Fr richtige Antworten erhalten Sie 2 Punkte, fr falsche Antworten werden 2 Punkte abgezogen. Wenn u u Sie bei einer Aussage nicht ankreuzen, erhalten Sie dafr 0 Punkte. u Aussage Quicksort und Bubblesort sind stabile Sortieralgorithmen. Der Aufbau eines Heap erfordert mindestens 2n log(n) viele Vergleiche. Es gilt log(n!) = O(n log(n)). Quicksort bentigt hchstens O(n log(n)) viele rekursive Aufrufe. o o In einem (min) Heap a ist a[2] das zweitkleinste Element. Das kleinste Element in einem binren Suchbaum steht in einem Blatt. a
8

richtig

falsch

5. Fr ein Hashverfahren mit oener Adressierung sei S = {0, 1} die Menge der Schlssel, m = 32, u u 8 5 1 c = = 0.618 und h : {0, 1} {0, 1} , s [m{sc}]. Kollisionsausung soll durch quadratisches Sondieren erfolgen. Whlen Sie die Anzahl p der Zellen der o a Tabelle, so da gilt: p < m und p ist die grte Zahl, so da alle Indizes der Tabelle in jeder Sondierfolge o auftreten. Geben Sie p an. Als Hashfunktion verwenden wir H : S {0, . . . , p 1}, s h(s) mod p. (a) Berechnen Sie die Hashwerte fr die Schlssel 8, 9, 10, 11, 12. Wenden Sie h auf die Entwicklung u u der Schlssel im Dualsystem an und verwenden Sie ganzzahlige Arithmetik bei einer Wortbreite u von 8 Bit um h(s) zu berechnen. (b) Die Pltze von 15 aufwrts sind belegt. Fgen Sie die Schlssel unter (a) mit quadratischem a a u u Sondieren in eine Hashtabelle mit p Zellen ein (p wie oben). (c) Erklren Sie den Begri oene Adressierung. a

Algorithmen und Datenstrukturen Prof. Dr. H. Knebl Hilfsmittel: Formelsammlung, 4 Seiten selbstgefertigte Unterlagen, Taschenrechner

16.07.2008 90 Minuten

Die Lsungen sind mit den Algorithmen der Vorlesung zu erstellen. Der Rechenweg ist aufzuzeigen. Antworo ten sind zu begrnden. u 1. Wie oft wird die Zeichenkette Hallo! durch den folgenden Algorithmus (in Abhngigkeit von n) ausgea geben? DoRec(n) 1 if n > 0 2 then for i 1 to n do 3 DoRec(n 1); DoRec(n 1) 4 k1 5 for i 2 to n + 1 do 6 k k i; 7 for i 1 to k do 8 print(Hallo!) Setzen Sie zur Lsung Dierenzengleichungen ein. o 2. Gegeben seien die Funktionen: f1 (n) = n3 n , f2 (n) = n log2 (n2 ), f3 (n) = log2 ( n n2 ), f4 (n) = . 3 log2 (n) log2 (n2 )

Fr welche (i, j), i = j, gilt fi = O(fj )? u 3. In den Knoten eines binren Suchbaumes sind die Elemente a, b, c, d, e, f, g, h, i, j in alphabetischer a Reihenfolge gespeichert. Welche der Folgen (1), (2), (3) knnen beim Postorder-Traversieren nicht o entstehen? Begrnden Sie Ihr Vorgehen. u (1) a, c, b, e, g, f, i, j, h, d (2) a, c, b, e, f, g, i, j, h, d (3) a, c, i, b, e, f, g, j, h, d. Geben Sie den binren Suchbaum an, falls es einen Baum zur jeweiligen Ausgabe gibt. a 4. Fr ein Hashverfahren werden 8-Bit Schlssel, 6-Bit Hashwerte, die Multiplikation mit c = 0.608 als u u Hashfunktion und quadratisches Sondieren zur Kollisionsausung verwendet. Whlen Sie die Anzahl o a p der Zellen der Tabelle, so dass gilt: p ist dem grten mglichen Hashwert und p ist die kleinste o o Zahl, so dass alle Indizes der Tabelle in jeder Sondierfolge auftreten. Geben Sie p an. (a) Berechnen Sie die Hashwerte fr die Schlssel 4, 5, 6, 7, 8. Wenden Sie h auf die Entwicklung der u u Schlssel im Dualsystem an und verwenden Sie ganzzahlige Arithmetik bei einer Wortbreite von u 8 Bit um h(s) zu berechnen. (b) Die Pltze von 15 aufwrts sind belegt. Fgen Sie die Schlssel unter (a) mit quadratischem a a u u Sondieren in eine Hashtabelle mit p Zellen ein (p wie oben). 5. 12000 Datenstze sollen im Hauptspeicher verwaltet werden. Dabei soll ein Hashverfahren mit Primra a und Uberlaufbereich zum Einsatz kommen. Im Mittel soll ein Datensatz mit drei Zugrien gefunden werden. Wie sind Primrbereich und Uberlaufbereich zu dimensionieren um dieses Ziel zu erreichen? a Wieviele Pltze bleiben im Mittel unbesetzt? Unter welchen Annahmen gelten Ihre Aussagen? a

Algorithmen und Datenstrukturen Prof. Dr. H. Knebl Hilfsmittel: Formelsammlung, 4 Seiten selbstgefertigte Unterlagen, Taschenrechner

29.01.2008 90 Minuten

Die Lsungen sind mit den Algorithmen der Vorlesung zu erstellen. Der Rechenweg ist aufzuzeigen. Antworo ten sind zu begrnden. u 1. Wie oft wird die Zeichenkette Hallo! durch den folgenden Algorithmus (in Abhngigkeit von n) ausgea geben? DoRec(n) 1 if n > 0 2 then for i 1 to n do 3 DoRec(n 1) 4 k1 5 for i 2 to n do 6 k 2 k i; 7 for i 1 to k do 8 print(Hallo!) Setzen Sie zur Lsung Dierenzengleichungen ein. o 2. Gegeben seien die Funktionen: n n n n2 n , f2 (n) = , f4 (n) = f1 (n) = , f3 (n) = . 2) log2 (n log2 (n)2 log2 ( n) log2 (n n) Fr welche (i, j), i = j, gilt fi = O(fj )? u 3. Gegeben sei ein Array a mit dem Inhalt: 36,24,92,11,44,53,82. (a) Sortieren Sie das Array a mit der in der Vorlesung angegeben Prozedur Heapsort absteigend und geben Sie jede notwendige Heapkonstruktion explizit an. (b) Das Array a enthalte 20.000 Elemente. Welche Heapsortvariante wrden Sie zum Sortieren empu fehlen. Beschreiben Sie die wesentlichen Punkte der Variante. 4. In den Knoten eines binren Suchbaumes sind die Elemente a, b, c, d, e, f, h, i, j in alphabetischer Reia henfolge gespeichert. Welche der Folgen (a), (b), (c) knnen beim preorder Traversieren nicht entstehen? o Begrnden Sie Ihr Vorgehen. u (a) e, b, c, a, i, j, d, f, h. (b) e, b, a, c, d, i, j, f, h. (c) e, b, a, c, d, i, f, h, j. Geben Sie den binren Suchbaum an, falls es einen Baum zur jeweiligen Ausgabe gibt. a 5. Wir verwenden fr ein Hashverfahren die Familie von Funktionen u ha,b : {0, . . . , p 1} {0, . . . , m 1}, x ((ax + b) mod p) mod m, wobei p = 2003, a, b Zp , m N und 2 m p ist. (a) Beschreiben Sie, wie der Einsatz der Familie zu erfolgen hat. Welche Vorteile ergeben sich beim Einsatz dieser Familie? (b) Fr das Verfahren wird die Hashfunktionen h(x) = h4,7 (x) und h (x) = h5,9 (x) mod (m 1) + 1 u verwendet. Whlen Sie m geeignet (minimal), falls die Hashtabelle mindestens 40 Pltze haben a a soll. (c) Fgen Sie die Schlssel 1000, 1001, 1002, 1003, 1004, 1005 ein, falls die Pltze 11 bis 40 bereits u u a besetzt sind.

Algorithmen und Datenstrukturen Prof. Dr. H. Knebl Hilfsmittel: Formelsammlung, 4 Seiten selbstgefertigte Unterlagen, Taschenrechner

01.02.2007 90 Minuten

Die Lsungen sind mit den Algorithmen der Vorlesung zu erstellen. Der Rechenweg ist aufzuzeigen. Antworo ten sind zu begrnden. u 1. Wie oft wird die Zeichenkette Hallo! durch den folgenden Algorithmus (in Abhngigkeit von n) ausgea geben? Setzen Sie zur Lsung Dierenzengleichungen ein. o DoRec(n) 1 if n > 0 2 then for i 1 to n do 3 DoRec(n 1); DoRec(n 1) 4 k := 1 5 for i 2 to n do 6 k := k i 7 for i 1 to k do 8 print(Hallo!)

2. (a) Der (Wirtschafts-)Informatiker Q.S. Trospaeh bentigt in einem Softwareentwicklungsprojekt ein o Verfahren zum Sortieren von 100000 Datenstzen. Er kennt aus der Vorlesung Algorithmen und a Datenstrukturen Heapsort, Quicksort, binre Suchbume, AVL-Bume, B-Bume und Hashvera a a a fahren. Welches dieser Verfahren wrden Sie an erster, zweiter oder dritter Stelle empfehlen? Es u sind auch Varianten zu betrachten, falls es welche gibt. Welche Verfahren scheiden aus? Falls zustzliche Annahmen notwendig sind, mssen diese angegeben werden. Scheiden Verfahren aus, a u falls es sich um eine Anwendung mit hohen Zuverlssigkeitsanforderungen handelt? Begrnden a u Sie Ihre Aussagen. (b) Gegeben sei ein Array mit dem Inhalt: 36, 24, 92, 11, 44, 53, 82, 77, 63. Sortieren Sie das Array mit der in der Vorlesung angegeben Prozedur Heapsort und geben Sie fr jeden Schritt den Heap an. u 3. In den Knoten eines binren Suchbaumes sind die Elemente a, b, c, d, e, f, h, i, j gespeichert. Bei der inora der Ausgabe entsteht die Liste d, h, b, e, a, i, f, j, c, bei der preorder Ausgabe die Liste a, b, d, h, e, c, f, i, j. Wie kann man aus diesen Angaben den binren Suchbaum konstruieren? Geben Sie die Sortierreihena folge der Menge {a, b, c, d, e, f, h, i, j} und den binren Suchbaum an. Beschreiben Sie Ihr Vorgehen a und begrnden Sie die einzelnen Schritte. u 4. Stellen Sie die wesentlichen Aspekte einer objektorientierten Implementierung (mit Entwurf) der Themen Sortieren, Bume und Hashverfahren aus der Vorlesung Algorithmen und Datenstrukturen dar. a

5. Ein gerichteter Graph G sei gegeben durch: A : D, G F :E K : C, I, N B : A, C G : H, L L:M C:F H : G, I M :N D : E, O I:J N :L E:B J :K O:L

(a) Ein Knoten v eines gerichteten Graphen heit Wurzel, wenn alle Knoten von v aus erreichbar sind. Mit welchen Algorithmen knnen die Wurzeln eines gerichteten Graphen bestimmt werden? o (b) Bestimmen Sie die starken Zusammenhangskomponenten von G mit dem Algorithmus aus der Vorlesung. Stellen Sie die wesentlichen Schritte dar. (c) Bestimmen Sie die Wurzeln von G. (d) Bestimmen Sie die starken Zusammenhangskomponenten des Graphen der aus G durch Hinzunahme einer Kante von M nach A entsteht.

Algorithmen und Datenstrukturen Prof. Dr. H. Knebl Hilfsmittel: Formelsammlung, Skriptum, selbstgefertigte Unterlagen, Taschenrechner

01.02.2006 90 Minuten

Die Lsungen sind mit den Algorithmen der Vorlesung zu erstellen. Der Rechenweg ist aufzuzeigen. Antworo ten sind zu begrnden. u 1. Wie oft wird die Zeichenkette Hallo! durch den folgenden Algorithmus (in Abhngigkeit von n) ausgea geben? DoRec(n) 1 if n > 0 2 then for i 1 to n do 3 DoRec(n 1) 4 k := 1 5 for i 2 to n 2 do 6 k := k i; 7 for i 1 to k do 8 print(Hallo!) Setzen Sie zur Lsung Dierenzengleichungen ein. o 2. Gegeben sei folgender B-Baum:
A C J K M N U E G P Q S T Y W H Z

(a) Geben Sie die Ordnung auf {A, C, E, G, H, J, K, M, N, P, Q, S, T, U, W, Y, Z} an. (b) Lschen Sie A. Skizzieren Sie das Ergebnis und beschreiben Sie den Lschvorgang. o o 3. Wir verwenden fr ein Hashverfahren die universelle Familie u ha,b : {0, . . . , p 1} {0, . . . , m 1}, x ((ax + b) mod p) mod m, wobei p eine Primzahl, a, b Zp , m N und 2 m p ist. (a) Beschreiben Sie, wie der Einsatz der Familie zu erfolgen hat. Welche Vorteile ergeben sich beim Einsatz universeller Familien? (b) Sei p = 2003. Fr das Verfahren wird die Hashfunktionen h = h3,7 mit quadratischem Sondieren u verwendet. Whlen Sie m geeignet (minimal), falls die Hashtabelle mindestens 40 Pltze haben a a soll. (c) Fgen Sie die Schlssel 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007 ein, falls die Pltze 9 bis 40 u u a bereits besetzt sind. 4. Gegeben sei ein Netzwerk mit Quelle S und Senke T durch folgende Adjazenzliste. A : (B, 25, 15), (F, 5, 5) F : (J, 10, 10), (T, 20, 20) S : (A, 20, 20), (D, 50, 25), (H, 20, 15) B : (C, 15, 10), (T, 20, 15) H : (F, 10, 0), (J, 15, 15) T : D : (H, 10, 0), (F, 30, 25) J : (T, 30, 25) (a) Bestimmen Sie einen maximalen Flu nach dem Algorithmus von Edmonds-Karp und geben Sie fr jeden Schritt den Restgraphen und einen Pfad mit Zunahme an. u (b) Berechnen Sie einen Schnitt minimaler Kapazitt. a