Sie sind auf Seite 1von 2

Algorithmen, Datenstruktu-

ren und Graphentheorie


Prof. Dr. Ralf Thiele
Hochschule Bonn-Rhein-Sieg
Sommersemester 2023
11. Oktober 2023

Aufgabe 1 [ACAT]

Bestimmen Sie die Anzahl der Elementaroperationen, die in der folgenden Methoden ausgeführt
werden und leiten Sie daraus die Laufzeit im O-Kalkül ab.

Aufgabe 2 [Theorie]

Bestimmen Sie mittels Streichregeln die (einfachste) O-Komplexitätsklasse von:

(a) f (n) = 4 · (n + 2)2 + 3 · n · log10 (100 · n) + 4


n+4 6
(b) g(n) = log4 (2 · n + 2) + 6 · 7
+ n+1
+9

Zeigen Sie mittels der Definitionen für die Komplexitätsklassen:

(c) 2 · (n + 1)2 + 3n + 7 ∈ Θ(n2 )


n
(d) n−1
∈ O(1)

Aufgabe 3 [Theorie]

Sei f (n) ∈ O(h(n)) und g(n) ∈ O(h(n))

(a) Ist f (n) + g(n) ∈ O(h(n))?

(b) Ist f (n) · g(n) ∈ O(h(n))?

Beweisen Sie Ihre Aussage!

Aufgabe 4 [Theorie]

Peter und Paul streiten sich über die Effizienz eines Algorithmus. Peter sagt, sein O(n · logn)-
Algorithmus sei immer schneller als Pauls O(n2 )-Algorithmus. Sie implementieren beide Algo-
rithmen. Zu Peters Entäuschung finden sie heraus, dass für n < 100 der O(n2 )-Algorithums
schneller ist und nur wenn n >= 100 ist, ist der O(n · logn)-Algorithmus besser.
Erläutern Sie, warum das obige Szenario möglich ist. Numerische Beispiele sind erlaubt.
Aufgabe 5 [Theorie]
Gegeben seien zwei Algorithmen:
sum = 0
for i in range(n):
for j in range(n):
sum += i*j
return sum

und
sum = 0
for i in range(n):
for j in range(i):
sum += i*j
return sum

(a) Was ist die Laufzeitkomplexität des 1. Algorithmus im O-Kalkül?


(b) Was ist die Laufzeitkomplexität des 2. Algorithmus im O-Kalkül?
(c) Welcher Algorithmus ist schneller für große Eingabelängen? Begründen Sie Ihre Antwort.

Aufgabe 6 [Theorie]
Gegeben sind Scatter-Plots, auf denen die Laufzeit (y-Axis) in Abhängigkeit zur Eingabelänge
(x-Axis) für Algorithmen dargestellt ist. Es sind jeweils 500 Datenpunkte (50 unterschiedliche
Datenlängen, je 10 Durchläufe):

50,000
40,000
30,000
20,000
10,000
0
0 2 · 107 4 · 107 6 · 107 8 · 107

40,000
30,000
20,000
10,000
0
2,000 4,000 6,000 8,000

(a) Schätzen Sie für die Plots die Laufzeitkomplexität im O-Kalkül für Worst, Best und Avg-
Case.
(b) Haben Sie eine Idee welche Algorithmen zu den Plots/Laufzeiten passen könnten?

Bearbeiten Sie die Aufgaben in der ersten Woche eigenständig! Hilfe bei der Lösung der Aufgaben
erhalten Sie in den Übungen.

Das könnte Ihnen auch gefallen