0% fanden dieses Dokument nützlich (0 Abstimmungen)
80 Ansichten9 Seiten

Ex 11 Sol

Das Dokument enthält eine Probeklausur im Fach Datenstrukturen, Algorithmen und Programmierung. Die Klausur besteht aus sechs Aufgaben und enthält Fragen zu Komplexität, Graphentheorie und Modularer Arithmetik.

Hochgeladen von

aa bb
Copyright
© © All Rights Reserved
Wir nehmen die Rechte an Inhalten ernst. Wenn Sie vermuten, dass dies Ihr Inhalt ist, beanspruchen Sie ihn hier.
Verfügbare Formate
Als PDF, TXT herunterladen oder online auf Scribd lesen
0% fanden dieses Dokument nützlich (0 Abstimmungen)
80 Ansichten9 Seiten

Ex 11 Sol

Das Dokument enthält eine Probeklausur im Fach Datenstrukturen, Algorithmen und Programmierung. Die Klausur besteht aus sechs Aufgaben und enthält Fragen zu Komplexität, Graphentheorie und Modularer Arithmetik.

Hochgeladen von

aa bb
Copyright
© © All Rights Reserved
Wir nehmen die Rechte an Inhalten ernst. Wenn Sie vermuten, dass dies Ihr Inhalt ist, beanspruchen Sie ihn hier.
Verfügbare Formate
Als PDF, TXT herunterladen oder online auf Scribd lesen

PROBEKLAUSUR DATENSTRUKTUREN ALGORITHMEN UND PROGRAMMIERUNG 2

SOSE 2023
PROF. DR. AMIN COJA-OGHLAN

• Bearbeitungszeit 90 Min.
• Alle Aufgaben haben gleiches Gewicht.
• Tragen Sie alle Antworten in die vorgesehenen Felder ein.
• Keine Aufzeichnungen erlaubt.
• Keine Hilfsmittel außer unbeschriebenem Papier und Stift erlaubt.

Vorname:
Nachname:
Matrikelnummer:

Bewertung
Aufgabe 1 Aufgabe 2 Aufgabe 3 Aufgabe 4 Aufgabe 5 Aufgabe 6 Σ Note

1
2 PROBEKLAUSUR DATENSTRUKTUREN ALGORITHMEN UND PROGRAMMIERUNG 2 SOSE 2023 PROF. DR. AMIN COJA-OGHLAN

AUFGABE 1
Kreuzen Sie alle zutrefenden Aussagen in jeder Zeile an.

f (n) g(n) f (n) = O(g(n)) f (n) = o(g(n)) f (n) = Θ(g(n)) f (n) = Ω(g(n))

1
(n2 − 2n)2 100 n
4
− 5n3 ✓ ✓ ✓
3n √1 nggT(39,21)

a) 3n−3 2
Pn 1
Pn n

b) i=1 i log(log( i=0 i (2e)i (−e)n−i ))

c) e−n sin( n−1


n2 )
R √n
d) log(n!) 1
log(x)dx

3n
= 12 n · (3n − 1) · (3n − 2).

a) Da der ggT(21, 39) = 3, ist f (n) = 3n−3
1
· (3n − 1) · (3n − 2)
2n 1 9n3 − 9n2 + 2n 1
lim 1 = √ lim =√ 9
n→∞ √ n3 2 n→∞ n3 2
2
Pn
b) Mit den binomischen Lehrsatz gilt g(n) = log(log( i=0 ni (2e)i (−e)n−i )) = log(log(en )) = log(n)

Pn 1
und es gilt f (n) = i=1 i = Hn nach der VL:

Hn
0 < lim <∞
n→∞ log(n)
c) Mit l’Hospital folgt:
e−n n3 e−n
lim n−1 = lim =0
n→∞ sin( 2 ) n→∞ (n − 2) cos( n−1
n n2 )

Der Term cos( n−1


n2 ) geht für n → inf gegen 1 und der Zähler geht exponentiell schnell gegen 0. DEr
Nenner wächst nur linear√und daher geht der Quotient gegen 0.
R n
d) Durch Integration von 1 log(x)dx erhält man:

n
1√
Z
log(x)dx = n(log(n) − 2) + 1
1 2

also ist der führende Term hier n log(n) Mit Striling bekommen wir für den Ausdruck für n → ∞:
√ n √ √
log(n!) = log( 2πn( )n ) = log( 2πn) + n · log(n) − n · log(e) = log( 2πn) + n · log(n) − n
e
Für n → ∞ ist der dominierende Term n log(n), also gilt:

n log(n) √
lim √ = lim n = ∞
n→∞ n log(n) n→∞

f (n) g(n) f (n) = O(g(n)) f (n) = o(g(n)) f (n) = Θ(g(n)) f (n) = Ω(g(n))

1
(n2 − 2n)2 100 n
4
− 5n3 ✓ ✓ ✓
3n √1 nggT(39,21)

a) 3n−3 2
✓ ✓ ✓
Pn Pn n
 i n−i
b) i=1 log(log( i=0 i (2e) (−e) )) ✓ ✓ ✓

c) e−n sin( n−1


n2 ) ✓ ✓
R √n
d) log(n!) 1
log(x)dx ✓
PROBEKLAUSUR DATENSTRUKTUREN ALGORITHMEN UND PROGRAMMIERUNG 2 SOSE 2023 PROF. DR. AMIN COJA-OGHLAN 3

AUFGABE 2
Finden Sie die kleinsten Zahlen v, w, x, y ∈ N, sodass gilt:

788 ≡ v mod 89
44
5 ≡w mod 43
55 · x ≡ 1 mod 89
144 · y ≡ 1 mod 233

Antwort:
a.) v = 1 b.) w = 25 c.) x = 34 d.) y = 89

• 88 = 26 + 24 + 23
• k = 6, ℓ6 = ℓ4 = ℓ3 = 1, ℓ5 = ℓ2 = ℓ1 = ℓ0 = 0
• y0 ≡ 7 mod 89, y1 ≡ 72 ≡ 49 mod 89, y2 ≡ 492 ≡ 87 mod 89, y3 ≡ 872 ≡ 4 mod 89, y4 ≡
42 ≡ 16 mod 89, y5 ≡ 162 ≡ 78 mod 89, y6 ≡ 782 ≡ 32 mod 89
• Folge der z-Werte:

z0 = 1·y0l0 = 70 = 1, 1·y1l1 = 1, 1·y2l2 = 1, 1·y3l3 = 4, 4·y4l4 = 4·161 = 64, 64·y5l5 = 64, 64·y6l6 = 64·32 mod 89 = 1

• ⇒v=1

• 44 = 25 + 23 + 22
• k = 5, ℓ5 = ℓ3 = ℓ2 = 1, ℓ4 = ℓ1 = ℓ0 = 0
• y0 ≡ 5 mod 43, y1 ≡ 52 ≡ 25 mod 44, y2 ≡ 252 ≡ 23 mod 43, y3 ≡ 232 ≡ 13 mod 43, y4 ≡
132 ≡ 40 mod 43, y5 ≡ 402 ≡ 9 mod 43
• Folge der z-Werte:

z0 = 1·y0l0 = 50 = 1, 1·y1l1 = 1, 1·y2l2 = 23, 23·y3l3 = 23·13 = 41, 41·y4l4 = 41·640 = 41, 41·y5l5 = 41·9 = 25

• ⇒ w = 25

89 = 1 · 55 + 34
55 = 1 · 34 + 21
34 = 1 · 21 + 13
21 = 1 · 13 + 8
13 = 1 · 8 + 5
8=1·5+3
5=1·3+2
3=1·2+1
2=2·1+0
4 PROBEKLAUSUR DATENSTRUKTUREN ALGORITHMEN UND PROGRAMMIERUNG 2 SOSE 2023 PROF. DR. AMIN COJA-OGHLAN

Rückrechnen liefert:
1=1·1+0·2
1 = −1 · 2 + 1 · 3
1 = 2 · 3 + −1 · 5
1 = −3 · 5 + 2 · 8
1 = 5 · 8 + −3 · 13
1 = −8 · 13 + 5 · 21
1 = 13 · 21 + −8 · 34
1 = −21 · 34 + 13 · 55
1 = 34 · 55 + −21 · 89

⇒ x = 34

233 = 1 · 144 + 89
144 = 1 · 89 + 55
89 = 1 · 55 + 34
55 = 1 · 34 + 21
34 = 1 · 21 + 13
21 = 1 · 13 + 8
13 = 1 · 8 + 5
8=1·5+3
5=1·3+2
3=1·2+1
2=2·1+0

Rückrechnen liefert:
1=1·1+0·2
1 = −1 · 2 + 1 · 3
1 = 2 · 3 + −1 · 5
1 = −3 · 5 + 2 · 8
1 = 5 · 8 + −3 · 13
1 = −8 · 13 + 5 · 21
1 = 13 · 21 + −8 · 34
1 = −21 · 34 + 13 · 55
1 = 34 · 55 + −21 · 89
1 = −55 · 89 + 34 · 144
1 = 89 · 144 + −55 · 233

⇒ v = 89

AUFGABE 3
Bestimmen Sie für den nachfolgenden Graphen G die folgenden Werte:
PROBEKLAUSUR DATENSTRUKTUREN ALGORITHMEN UND PROGRAMMIERUNG 2 SOSE 2023 PROF. DR. AMIN COJA-OGHLAN 5

Antwort:
a.) α(G) = 7 b.) ω(G) = 2 c.) χ(G) =4 d.) ∆(G) = 4

∆(G) = 4, da jeder Knoten den Grad 4 besitzt. Ee existiert kein K3 in G, daraus folgt ω(G) = 2. Durch
brute force erhält man α(G) = 7. Wir wissen ∆(G) + 1 ≥ χ(G) ≥ ω(G). Deshalb gilt hier 5 ≥ χ(G) ≥ 2
|V |
Da |V | = 21 gilt und α(G) = 7 und χ(G) ≥ ⌈ α(G) ⌉, gilt hier χ(G) ≥ ⌈ 21
7 ⌉ = 3. Also muss 3, 4, 5
probiert werden. Es gilt χ(G) = 4. Eine maximale stabile Menge kann wie folgt aussehen:
6 PROBEKLAUSUR DATENSTRUKTUREN ALGORITHMEN UND PROGRAMMIERUNG 2 SOSE 2023 PROF. DR. AMIN COJA-OGHLAN

AUFGABE 4

8 6

8 4 13 2

9 4

3
PROBEKLAUSUR DATENSTRUKTUREN ALGORITHMEN UND PROGRAMMIERUNG 2 SOSE 2023 PROF. DR. AMIN COJA-OGHLAN 7

Führen Sie den BHK Algorithmus aus um die kürzeste TSP-Tour des Graphen zu finden. Wählen Sie den
Knoten 1 als Startknoten. Füllen Sie dazu die folgende Tabelle mit den jeweiligen Werten für T (u, U ) aus.
Geben Sie am Ende die Länge der optimalen TSP-Tour sowie dessen Weg aus.
N u U

2
0
3
4
{2} {3} {4}
2 x
1
3 x
4 x
{2, 3} {2, 4} {3, 4}
2 x x
2
3 x x
4 x x
Länge der optimalen TSP-Tour

Pfad der optimalen TSP-Tour

N u U

2 6
0
3 8
4 8
{2} {3} {4}
2 x 8+ 4 = 12 8+ 13 = 21
1
3 6 + 4 = 10 x 8 + 9 = 17
4 6 + 13 = 19 8+ 9 = 17 x
{2, 3} {2, 4} {3, 4}
2 x x 8 + 9 + 4 = 21
2
3 x 8+ 13 + 4 = 25 x
4 6 + 4 + 9 = 19 x x

Wir suchen das Minimum der Touren:


min{19 + 8 = 27, 25 + 8 = 33, 21 + 6 = 27}

Länge der optimalen TSP-Tour 27

Pfad der optimalen TSP-Tour 1 → 2 → 3 → 4 → 1 oder 1 → 4 → 3 → 2 → 1

AUFGABE 5
Berechnen Sie die Größenordnung der Rekurrenzen.
8 PROBEKLAUSUR DATENSTRUKTUREN ALGORITHMEN UND PROGRAMMIERUNG 2 SOSE 2023 PROF. DR. AMIN COJA-OGHLAN

√ √
a) T (n) = nT ( n) + n
n
b) T (n) = 16T ( 4 ) + n!
c)
(√ √
2T ( n2 ) + n, n>1
T (n) =
1, n=1
d)
(
T (n − 1) + 2(n−1), ∀n > 1
T (n) =
10, n = 1

Antwort:

a.) Θ( n log log n ) b.) Θ( n! ) c.) Θ( n log n ) d.) O( n2 )

Solution:
√ √
a) T (n) = nT ( n) + n

Let n = 2p , then n = 2p/2 and p = log n. Substituting in above equation, we get:
T (2p ) = 2p/2 T (2p/2 ) + 2p
p p/2
Dividing it by 2p we get, T (2
2p
)
= T (2
2p/2
)
+1
p
T (2 )
Now let, m(p) = 2p , then above equation can be written as, m(p) = m(p/2) + 1
Now, if we apply Master’s Theorem here with a = 1, b = 2 and k = 0, we get the solution as
T (n) = Θ(n log log n)
b) T (n) = 16T ( n4 ) + n!
Here, a = 16, b = 4 then log4 16 = 2 and f (n) = n!. After applying master’s theorem we get
logb a < f (n). So, T (n) = Θ(n!) √
c) Apply Master’s√ Theorem with a = 2, b = 2, and k = 0
So, T (n) = Θ( n log n)
d)
T (n) = T (n − 1) + 2(n − 1)
T (n) = (T (n − 2) + 2(n − 2)) + 2(n − 1)
T (n) = ((T (n − 3) + 2(n − 3)) + 2(n − 2)) + 2(n − 1)
T (n) = 2(T (1) + (n − 1) − (n − 2)) + · · · + 2(n − 3) + 2(n − 2) + 2(n − 1)
T (n) = 2(n − 1) + 2(n − 1) − 2 + 2(n − 1) − 4 + 2(n − 1) − 6 + · · · + 10
T (n) = 2[(n − 1)(n − 1)] − [(n − 1) · (n − 1) + (n − 1)]
T (n) = (n − 1)(n − 1) − (n − 1)
2
∴ T (n + 1) = O(n )

AUFGABE 6
a) In einem komplettem Min-Heap werden die Zahlen 1, 2, 3 . . . 1023 in beliebiger Reihenfolge ein-
gefügt. Bestimmen Sie die maximale Tiefe des Wertes 9 (wobei die Wurzel Tiefe 0 hat):

•8

Solution: To make a complete binary min-heap with all integers in [1,1023] exactly once, we
need to make a path with root as 1. So, the maximum depth at which integer 9 can appear is
(9 − 1) = 8 as the depth of the root is 0.
PROBEKLAUSUR DATENSTRUKTUREN ALGORITHMEN UND PROGRAMMIERUNG 2 SOSE 2023 PROF. DR. AMIN COJA-OGHLAN 9

b) Bestimmten Sie die minimale Tiefe der Zahl 9 in der selben Situation wie a):

•1

Der Min-Heap braucht die 1 als Wurzel um alle Zahlen zu speichern, danach kann die 2 und die
9 eingefügt werden.
Der Min-Heap wird aufsteigend mit den Zahlen 1-1023 gefüllt und die 9 erscheint in der Höhe
3, wegen 23 + 1 = 9
c) Betrachten Sie Quicksort auf einem Array mit n verschiedenen Elementen, die zufällig permutiert
sind. Wie groß ist die Wahrscheinlichkeit, dass ein Vergleich zwischen dem kleinsten und dem
größten Element des Arrays stattfindet?

1
• Θ( )
n

1
Solution: The total no. of comparisons for both largest and smallest element are n−1 respec-
tively. (Assume the array is in descending order) So, for the largest element, it should be compared
with other (n − 1) elements, and similarly for smallest element. So, the probability that no com-
2
parisons will be made between the smallest and largest element of the array is n−1 .
d) Betrachte ein Array (1, n, 2, n − 1, . . . , n, 1) der Länge 2n. Was ist die asymptotische Laufzeit des
Arrays bei Quicksort?

• Θ(n2 )

Das könnte Ihnen auch gefallen