Prof. Dr. R. Schrader SS 2005 Katja Korherr
2. Übung zur Vorlesung Informatik I Abgabe: 29.04. bis 13.00 Uhr Besprechung: 02.05. bis 06.05.
in den Übungsgruppen
Bitte schreiben Sie das Kürzel Ihrer Übungsgruppe rechts obenauf Ihr Übungs- blatt. Nur so können wir sicherstellen, dass Ihre Lösungen auch bei Ihrem Übungs- leiter ankommen und korrigiert werden.
Aufgabe 1: (?)
Beweisen oder widerlegen Sie:
a)3n=O(2n) b)n log(n) =O(n2)
c)f(x) =O(g(x)) ⇔ nf(x) =O(ng(x)) d)3√
n+ 7 = Ω(n)
e)an2+bn+c= Θ(n2) a, b, c∈R a >0
(5 Punkte)
Aufgabe 2:
a) Beschreiben Sie in Worten einen Algorithmus, der zwei bereits sortierte Teilar- raysA(p, . . . , q)undA(q+ 1, . . . , r)inΘ(r−p+ 1)zu einem sortierten Array A(p, . . . , r)verschmilzt.
b) Formulieren Sie Ihren Algorithmus im Pseudocode.
c) Führen Sie eine Laufzeitanalyse für den Algorithmus durch.
Aufgabe 3: (?)
Zeigen Sie, dass für n ∈ 2k (k ∈ N) die Laufzeit des Algorithmus “divide and conquer” zur Lösung des Maximum-Subarray-Problems aus der Vorlesung Ω(n log2(n))beträgt.
(3 Punkte)
1
Aufgabe 4: (?)
Schreiben Sie einen Algorithmus in C++ oder Java, der rekursiv (!) die n-te Fi- bonaccizahl berechnet und ausgibt. Senden Sie Ihr Programm per e-mail an Ihren Übungsleiterundgeben Sie einen Ausdruck ab.
(3 Punkte)
2