Ich hoffe, dass Du die Abgabe noch erfolgreich fertigstellen konntest! Die folgende (Java) Funktion berechnet den Binomialkoeffizient rekursiv:
public static int binom(final int n, final int k) {
if (n == k || k == 0) {
return 1;
}
return binom(n - 1, k) + binom(n - 1, k - 1);
}
Es ist
\(B_{n,k}=\begin{cases}1,&n=k\vee k=0\\B_{n-1,k-1}+B_{n-1,k}, \mathrm{sonst}\end{cases}\)
die rekursive Definition des Binomialkoeffizienten. Die dazugehörige Rekurrenzgleichung lautet:
\(T(n,k) = T(n-1,k) + T(n-1,k-1) + \mathcal{O}(1) \) mit \(T(n,n) = T(n,0) = \mathcal{O}(1)\)
Daraus folgt:
\(T(n) = \mathcal{O}(2^n)\)