Algorithmik Sommersemester 2014 Prof. Dr. Steffen Lange 1. Übungsblatt 1. Aufgabe Es sei a[1], ..., a[n] eine gegebene Zahlenfolge der Länge n mit n ≥ 2. Für alle i, k mit 1 ≤ i ≤ k ≤ n gilt: • w(a, i, k) = Σkj=1 a[j], • wr (a, k) = max{w(a, i, k) | 1 ≤ i ≤ k}. Ist die folgende Aussage richtig oder falsch? Begründen Sie Ihre Antwort! • Es gilt: wr (a, n) = max{wr (a, n − 1) + a[n], a[n]}. Hinweis: Unterscheiden Sie in Ihrer Begründung die folgende beiden Fälle: (a) wr (a, n − 1) ≤ 0 (b) wr (a, n − 1) > 0. 2. Aufgabe Beweisen Sie mit vollständiger Induktion, dass folgende Aussage korrekt ist. Für alle natürlichen Zahlen k = 0, 1, 2, . . . gilt: k X i=0 i2 = k · (k + 1) · (2k + 1) 6 3. Aufgabe Beim Composite-Problem geht es darum, zu einer gegebenen natürlichen Zahl x zu entscheiden, ob es natürliche Zahlen a, b ∈ {2, . . . , x − 1} mit a · b = x gibt. Die folgende Funktion composite(.) löst das Composite-Problem. bool composite(int x) { bool result = false; for( int a = 2; a < x; ++a ) for( int b = 2; b < x; ++b ) 1 if( a*b == x ) result = true; return(result); } Geben Sie eine eine einfache Funktion an, die gleichzeitig obere und untere Schranke für die Anzahl der Multiplikationen ist, die bei der Ausführung der Funktion composite(.) durchgeführt werden. Hinweis: Beachten Sie, dass die Länge einer Eingabe x der Länge der Binärdarstellung von x entspricht. 4. Aufgabe Welche der folgenden Aussagen sind richtig, welche sind falsch? Begründen Sie Ihre Antwort, in dem Sie jeweils geeignete Konstanten c und n0 angeben oder zeigen, dass es solche Konstanten nicht geben kann. (i) f (n) ∈ O(g(n)) mit f (n) = 2 und g(n) = n für alle n ∈ IN (ii) f (n) ∈ O(2n−1 ) mit f (n) = 2n und g(n) = 2n−1 für alle n ∈ IN √ (iii) f (n) ∈ Ω(g(n)) mit f (n) = 22 · n2 und g(n) = n für alle n ∈ IN (iv) f (n) ∈ Θ(g(n)) mit f (n) = 8 · n3 + 4 · n2 und g(n) = n2 für alle n ∈ IN Hinweis: Begründen Sie die richtigen Aussagen noch einmal, indem Sie die Grenzwerte der Folgen (f (n)/g(n))n∈IN analysieren. 5. Aufgabe Es seien f (n) und g(n) beliebige Funktionen von IN nach IR+ . Ferner sei die Funktion h(n) so gewählt, dass h(n) = 106 · f (n) für alle n ∈ IN gilt. Welche der folgenden Aussagen sind richtig, welche sind falsch? Begründen Sie Ihre Antworten! • Wenn f (n) ∈ O(g(n)) gilt, so gilt auch h(n) ∈ O(g(n)). • Wenn f (n) ∈ Ω(g(n)) gilt, so gilt auch g(n) ∈ O(f (n)). • Wenn f (n) ∈ Ω(g(n)) gilt, so gilt auch f (n) ∈ Θ(g(n)). Viel Erfolg beim Bearbeiten der Aufgaben! 2