TEMA 1
Responsabili tema
: Peticila Alexandru, Peticila Constantin
- I. (0.4 x 5 = 2p) Pentru fiecare din urmatoarele recurente aplicati teorema Master (sau argumentati de ce nu poate fi aplicata, daca este cazul):
- $ T(n) = 4T(\frac{n}{2}) + n^{2.5}$
- $ T(n) = 4T(\frac{n}{2}) + n^2 log(n)$
- $ T(n) = T(\sqrt{n}) + \Theta(log( log( n)))$
- $ T(n) = T(\frac{n}{2}) + n(2 - cos n)$
- $ T(n) = 3T(\frac{n}{3}) + \frac{n}{log (n)}$
- II. (0.75 x 2 = 1.5p) Determinati $ f(n)$ cat mai restrictiv astfel incat :
- $ T(n) = \Theta(f(n))$ , unde a ≥ 1, c > 0 si $ T(n) = T(n - a) + T(a) + cn $
- $ T(n) = O(f(n))$ , unde $ T(n) = T(n - 1) + T(\frac{n}{2}) + n$
- III. (1.5p) Rezolvati urmatoarea recurenta:
- $ T(a^n) = aT(a^{(n-1)} ) + 2ca^n$
unde a, c constante cu a > 1 si T(1) = 0
- IV. (1.5p) Pentru inmultirea matricelor Matei foloseste in acest moment un algoritm cu recurenta urmatoare: $ T(n) = 7T(n/2) + n^2$ .
El nu este multumit de complexitatea acestui algoritm si doreste sa realizeze un algoritm asimptotic mai rapid prin impartirea matricelor in bucati de dimensiune n/4*n/4.
Care este numarul maxim de subprobleme pe care algoritmul sau poate sa il creeze astfel incat sa fie asimptotic mai rapid decat algoritmul cel vechi?
Nota
: Pasii de divide si combina au impreuna complexitatea de Θ($ n^2$ ).
- V.(2 x 0.75 = 1.5p) Spunem ca f(n) = $ {Ω}^{ꝏ}(g(n))$ daca ∃ un c ∈ $ {R}^{+}$ astfel incat f(n) ≥ c*g(n) ≥ 0 pentru o infinitate de numere n.
- Verificati daca Ω = $ {Ω}^{ꝏ}$ si $ {Ω}^{ꝏ}$ = Ω
- Stabiliti relatia de adevar a urmatoarei propozitii:
Fie f(n) si g(n) doua functii asimptotic positive. Atunci: fie f(n) = O(g(n)), fie f(n) = $ {Ω}^{ꝏ}$ (g(n)) sau ambele.
Raspunsul este acelasi si daca inlocuim $ {Ω}^{ꝏ}$ cu Ω? Argumentati!
- VI. (2p) Analizati complexitatea urmatorului algoritm:
private static Integer recursiveMethod(Integer length) { if (length > 0) { Integer index = random(length - 1); return recursiveMethod(index) + recursiveMethod(length - 1 - index); } else { return 1; } }
Nota
: Metoda random(n) foloseste o unitate de timp si returneaza o valoare uniform distribuita in intervalul [0,n], iar timpul pentru celelalte instructiuni e neglijabil.
PRECIZARI:
- Tema va fi redactata individual.
- Tema va fi predata la cursul din data de 6.12.2019 .
- Tema valoreaza 1 punct din nota finala.