Wpis z mikrobloga

@wiwiwi: Po pierwsze w tym wypadku nie chcesz mnożyć T(n-1) tylko je do siebie dodać.
Czyli T(n) = 2 * T(n-1) = 2 * (2 * T(n-2)) = ... = 2^n T(0) = 2^n
bo T(0) = 1

EDIT: Przy obliczaniu zignorowałem operację mnożenia. Nie wiem co ma dokładnie wyliczyć Twoja funkcja i czy ma liczyć dokładnie, czy w notacji O.

Jeśli ma liczyć dokładnie to w każdym równananiu musisz dodać
@ponton: ok

J(0) wykonuje sie w czasie stalym.

T(0) = J(0) = C

Ogolny przypadek:

T(n) = (T(n - 1))^2

podstawiajac rekurencyjnie n - 1 za n:
=> (T(n-2))^4
=> (T(n-3))^8

zatem:

=> (T(n - k))^(2^k)

sprowadzajac do przypadku podstawowego:

n - k = 0, zatem n = k

otrzymujemy:

T(0) = (T(0))^(2^n)

T(0) = C, zatem T(0) = C^(2^n)

z czego wynika O(2^n)