Sie sind auf Seite 1von 2

Vorlesung: Matthias Rarey Abgabe: 13.11.

23 in Moodle
Übung: Marten Maack u.v.a. Version: 6. November 2023

Algorithmen und Datenstrukturen


WS 2023/24
Aufgabenblatt 2

Aufgabe 2.1 Sei F die Menge der Funktionen N → R+ und seien f, g ∈ F. Beweisen oder 4 Punkte
widerlegen Sie die folgenden Aussagen:

1. Mit f (n) = n2 − 2n gilt f (n) = Θ(n2 )

2. Aus f (n) = O(g(n)) folgt g(n) = Ω(f (n))

Aufgabe 2.2 Bestimmen Sie die Größenordnung der Funktionen wenn möglich mittels Mas- 7 Punkte
tertheorem. Falls das Mastertheorem nicht anwendbar sein sollte, begründen Sie dies und
verwenden stattdessen die Substitutionsmethode. Hinweis: Es ist hier kein Induktionsbeweis erfor-
derlich bei Anwendung der Substitutionsmethode.
(
1 falls n = 1
T1 (n) = 2
4 · T1 (⌈n/2⌉) + n sonst

(
1 falls n = 1
T2 (n) =
2 · T2 (n − 1) + 4 sonst

(
1 falls n = 1
T3 (n) =
42 · T3 (⌈n/3⌉) + 39 · T3 (⌊n/3⌋) + 5n3 + 69n sonst
Aufgabe 2.3 7 Punkte
Gegeben sei folgender Pseudocode:

Algorithm 1: Alg(A, x, y)
Input : array A[i], i = 1, 2, . . . , n, A[i] ∈ N, 0 < x ≤ y ≤ n
Output : result ∈ N>0
1 result = 0
2 if x == y then
3 result = 1
4 else if x < y then
5 k = x + ⌈2 y−x
3 ⌉
6 value1 = Alg(A, x, k − 1)
7 value2 = Alg(A, k, y)
8 value3 = 0
9 i = k − 1, j = k
10 while (A[i] ≥ A[i − 1])&&(i > x) do
11 i=i−1
12 while (A[j] ≤ A[j + 1])&&(j < y) do
13 j =j+1
14 if A[k − 1] ≤ A[k] then
15 value3 = j − i + 1
16 else
17 value3 = max(j − k + 1, k − i)
18 result = max(value1, value2, value3)
19 return result

1. Geben Sie an, was der Algorithmus berechnet.

2. Bestimmen Sie eine Rekurenzgleichung, welche die Laufzeit im worst-case beschreibt.


Begründen Sie die Terme in der Gleichung.

3. Die Laufzeit von Alg liegt in O(n log n). Zeigen Sie, dass Ihre Rekurrenzlgleichung diese
Laufzeitschranke erfüllt.

Aufgabe 2.4 6 Punkte

1. Erklären Sie, wie eine Queue durch zwei Stacks implementiert werden kann. Hinweis:
Dazu darf Pseudocode benutzt werden, ist aber nicht zwingend erforderlich.

2. Analysieren Sie die Laufzeit der Queueoperationen aus 1. unter der Annahme, dass die
Stackoperationen Zeit O(1) benötigen.

Das könnte Ihnen auch gefallen