Theoretische Informatik für Wirtschaftsinformatiker

Werbung
Fakultät für Informatik
Professur Theoretische Informatik
und Informationssicherheit
Prof. Dr. Hanno Lefmann
Sommersemester 2005
Theoretische Informatik für Wirtschaftsinformatiker
1. Übung
Aufgabe 1 Es gibt verschiedene Möglichkeiten, eine natürliche Zahl n zu kodieren. In
der unären Kodierung hat man nur ein Alphabet mit einem Zeichen – sagen wir der 1 –
zur Verfügung und die Zahl n wird durch n aufeinanderfolgende 1’en dargestellt, also z.B.
ist 11111 die Kodierung der Zahl 5. Bei der binären Kodierung wird (ähnlich wie bei der
geläufigeren dekadischen Schreibweise) die Zahl n geschrieben als
n = ak 2k + ak−1 2k−1 + . . . + a1 21 + a0 20 ,
wobei ai ∈ {0, 1} für i = 0, . . . , k und k geeignet gewählt ist – also wird hier die Zahl 5
als 101 kodiert.
(a) Was sind die Binärkodierungen der Zahlen 13, 19, 22 und 37?
(b) Wie viele Bits werden zur Binärkodierung der Zahl n benötigt?
Aufgabe 2 Sei f : N −→ R eine Funktion mit f (n) = an2 + bn + c, wobei a > 0 ist.
Zeigen Sie, dass Konstanten n0 und C > 0 existieren, so dass für alle n ≥ n0 gilt
f (n) ≤ C · n2 .
Hinweise für die folgenden Aufgaben:
Seien f, g: N −→ R+
0 Funktionen. Dann bedeutet:
• f = O(g), wenn ∃ c > 0, ∃ n0 , ∀ n ≥ n0 : f (n) ≤ c · g(n);
f wächst nicht schneller als g“.
”
• f = Ω(g), wenn g = O(f ) gilt;
f wächst mindestens so schnell wie g“.
”
Eine Funktion f : N → R+
0
• heißt polynomiell beschränkt, falls es ein Polynom g gibt mit f = O(g).
ε
• wächst exponentiell, wenn es ein ε > 0 gibt mit f = Ω(2n ). [f wächst mindestens
ε
so schnell wie c · 2n für eine Konstante c > 0 .]
Aufgabe 3
(a) Ist nlog n polynomiell beschränkt?
(b) Wächst nlog n mindestens exponentiell?
√
(c) Wächst 2
(d) Ist
3
nn
n
mindestens exponentiell?
polynomiell beschränkt oder mindestens exponentiell?
Begründen Sie Ihre Behauptungen.
Aufgabe 4
(a) Sortieren Sie folgende Funktionen nach ihrem asymptotischen Verhalten. Dabei soll
f ≺ g sein, wenn lim f (n)/g(n) = 0 ist. Kann man jede Menge von Funktionen
n→∞
derart anordnen?
f0 (n)
f3 (n)
f6 (n)
f9 (n)
f12 (n)
f15 (n)
=
=
=
=
=
=
n
5n2
(log n)2
(1, 618 . . .)n
3n
n(log n)3 + n
f1 (n)
f4 (n)
f7 (n)
f10 (n)
f13 (n)
f16 (n)
=
=
=
=
=
=
n log n
13/n
log(log n)
1/(n
log n)
√
e√ n
n
f2 (n)
f5 (n)
f8 (n)
f11 (n)
f14 (n)
=
=
=
=
=
log n
4n4 + 3n
2n
n2 2n
n3 2n
(b) Begründen Sie die von Ihnen behauptete Beziehung für die Paare (f8 , f11 ), (f2 , f16 ),
(f12 , f13 ), (f6 , f7 ), (f0 , f1 ) und (f1 , f3 ). Hinweise auf bekannte Sätze aus der Mathematik genügen.
(c) Finden Sie eine Funktion g(n), so dass weder g(n) = O(n2 ) noch g(n) = Ω(n2 ) gilt.
Aufgabe 5 Betrachten Sie folgenden Algorithmus in Pseudocode:
VAR i, j: index;
x
: item;
1: FOR i:=2 TO n DO
2:
FOR j:=n DOWNTO i DO
3:
IF A[j-1] > A[j] THEN
4:
{
x
:= A[j-1];
5:
A[j-1] := A[j];
6:
A[j]
:= x;
}
(a) Was macht dieser Algorithmus?
(b) Analysieren Sie die Laufzeit dieses Algorithmus.
Herunterladen