DokuWiki - fricklers.org

Trace:

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
repds15:hausaufgaben [2015/08/28 08:40] mariorepds15:hausaufgaben [Unknown date] (current) – removed - external edit (Unknown date) 127.0.0.1
Line 1: Line 1:
-====== Hausaufgaben ====== 
  
-===== Tag 1 ===== 
-==== Mathematische Grundlagen, Asymptotik, Landau-Notation ==== 
- 
-  - Welche Rechenregeln für Logarithmen gibt es? 
-  - Vereinfache die folgenden Terme: 
-    * $\log_2(8)$ 
-    * $\log_3(1)$ 
-    * $\log_2(n^4)$ 
-    * $\log_{10}\left(\frac{1}{n^2}\right)$ 
-    * $2^{\log_4(n)}$ 
-    * $\log_n(n)$ 
-    * $\log_a(b) \cdot \log_b(n)$ 
-    * $\log_2(4n^3)$ 
-    * $\log_2(\sqrt{n})$ 
-    * $\log_2\left( \sum_{i=0}^n i \right)$ 
-    * $\log_3\left(\prod_{i=1}^n 3^i \right)$ 
-    * $\sum_{i=1}^n n \cdot i$ 
-    * $\sum_{k=0}^n 2^{-k}$ 
-    * $\sum_{k=1}^{\frac{n}{2}} 4^{-k}$ 
-    * $\sum_{i=1}^n \frac{2}{i} <\underline{\qquad}$ 
-  - Wahr oder falsch? Begründe deine Antwort. 
-    * $1 = \Theta(3)$ 
-    * $2 = \Omega(1)$ 
-    * $3 = \omega(2)$ 
-    * $n = \omega(1)$ 
-    * $f = \mathcal{O}(g)$ und $g = \mathcal{O}(f) \iff f = \Theta(g)$ 
-    * $\sum_{k=0}^n 2^{-k} = \mathcal{O}(1)$ 
-    * $\log_2(n) = \Theta(\log_8(n))$ 
-    * $2^{\log_2(2n)} = \mathcal{O}(n^2)$ 
-    * $f_1 = \Omega(g_1)$ und $f_2 = \Omega(g_2) \implies f_1 + f_2 = \Omega(g_1 + g_2)$ 
-    * $f = o(g) \iff f = \mathcal{O}(g)$ 
-    * $f(n) = g(\frac{n}{2}) \implies f = \Omega(g)$ 
-    * $f = o(g) \implies 2^f = o(2^g)$ 
- 
-==== Pseudocode und Laufzeitanalyse ==== 
-Welchen Wert hat k in Abhängigkeit von n nach der Ausführung des Programms? 
-  - <code> 
-k = 1 
-for i=1,2,...,n 
-    k = k + 1 
-</code> 
-  - <code> 
-k = 1 
-for i=1,2,...,n 
-    k = k + 1 
-for j=1,2,...,100 
-    k = k + 2 
-</code> 
-  - <code> 
-k = 1 
-for i=1,2,...,n*n 
-    k = k + 2 
-</code> 
-  - <code> 
-k = 1 
-for i=n,n/2,n/4...,1 
-    k = k + 1 
-</code> 
-  - <code> 
-k = 1 
-for i=1,2,...,n 
-    k = k + i 
-</code> 
-  - <code> 
-k = 1 
-while i < n 
-    i = i + i 
-    k = k + 1 
-</code> 
-  - <code> 
-i = 0 
-k = 0 
-while i < n 
-    i = i + k 
-    k = k + 1 
-</code> 
- 
-Umgekehrt: Schreibe Pseudocode mit den folgenden Laufzeiten: 
-  - $\Theta(1)$ 
-  - $\Theta(n)$ 
-  - $\Theta(n^3)$ 
-  - $\Theta(2^n)$ 
-  - $\Theta(\sqrt{n})$ 
-  - $\Theta(\log{n})$ 
-  - $\Theta(\log{n^3})$ 
-  - $\Theta(n!)$ 
- 
-==== Rekursionsgleichungen aufstellen und lösen ==== 
-Aufstellen: 
-  - <code> 
-def f(n): 
-    if n == 1 
-        return 1 
-    else 
-        return n + f(n-1) 
-</code> 
-  - <code> 
-def g(n): 
-    if n > 1: 
-        return g(n/2) 
-</code> 
- 
-Lösen: 
-  - $T(1) = 0$ und $T(n) = 2 T(\frac{n}{2}) + \frac{n}{2}$ für $n > 1$ 
-  - $T(2) = 1$ und $T(n) = T(\frac{n}{2}) + n - 1$