Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
aa:tema_1_2019 [2019/11/15 18:33] cpeticila |
aa:tema_1_2019 [2019/11/23 11:18] (current) cpeticila |
||
---|---|---|---|
Line 4: | Line 4: | ||
''Responsabili tema'': Peticila Alexandru, Peticila Constantin | ''Responsabili tema'': Peticila Alexandru, Peticila Constantin | ||
- | * I. (//0.5 x 6 = 3p//) Pentru fiecare din urmatoarele recurente aplicati teorema Master (sau argumentati de ce nu poate fi aplicata, daca este cazul): | + | * 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): |
* $math[T(n) = 4T(\frac{n}{2}) + n^{2.5}] | * $math[T(n) = 4T(\frac{n}{2}) + n^{2.5}] | ||
* $math[T(n) = 4T(\frac{n}{2}) + n^2 log(n)] | * $math[T(n) = 4T(\frac{n}{2}) + n^2 log(n)] | ||
* $math[T(n) = T(\sqrt{n}) + \Theta(log( log( n)))] | * $math[T(n) = T(\sqrt{n}) + \Theta(log( log( n)))] | ||
- | * $math[T(n) = 3T(\frac{n}{3}) + \frac{n}{log (n)}] | ||
* $math[T(n) = T(\frac{n}{2}) + n(2 − cos n)] | * $math[T(n) = T(\frac{n}{2}) + n(2 − cos n)] | ||
- | * $math[T(n) = 16T(\frac{n}{4}) + n!] | + | * $math[T(n) = 3T(\frac{n}{3}) + \frac{n}{log (n)}] |
- | * II. (//1p//) Determinati $math[f(n)] cat mai restrictiv astfel incat : | + | |
+ | * II. (//0.75 x 2 = 1.5p//) Determinati $math[f(n)] cat mai restrictiv astfel incat : | ||
* $math[T(n) = \Theta(f(n))], unde a ≥ 1, c > 0 si $math[T(n) = T(n − a) + T(a) + cn ] | * $math[T(n) = \Theta(f(n))], unde a ≥ 1, c > 0 si $math[T(n) = T(n − a) + T(a) + cn ] | ||
* $math[T(n) = O(f(n))], unde $math[T(n) = T(n − 1) + T(\frac{n}{2}) + n] | * $math[T(n) = O(f(n))], unde $math[T(n) = T(n − 1) + T(\frac{n}{2}) + n] | ||
- | * III. (//1p//) Rezolvati urmatoarea recurenta: | + | * III. (//1.5p//) Rezolvati urmatoarea recurenta: |
* $math[T(a^n) = aT(a^{(n-1)} ) + 2ca^n] \\ unde a, c constante cu a > 1 si T(1) = 0 | * $math[T(a^n) = aT(a^{(n-1)} ) + 2ca^n] \\ unde a, c constante cu a > 1 si T(1) = 0 | ||
- | * IV. (//2p//) Pentru inmulturea matricelor Matei foloseste in acest moment un algoritm cu recurenta urmatoare: $math[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 algorimul 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 ). | + | * IV. (//1.5p//) Pentru inmultirea matricelor Matei foloseste in acest moment un algoritm cu recurenta urmatoare: $math[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 Θ($math[n^2] ). |
- | * V. (//3p//) Analizati complexitatea urmatorului algoritm, | + | * V.(//2 x 0.75 = 1.5p//) Spunem ca f(n) = $math[{Ω}^{ꝏ}(g(n))] daca ∃ un c ∈ $math[{R}^{+}] astfel incat f(n) ≥ c*g(n) ≥ 0 pentru o infinitate de numere n. |
+ | - Verificati daca Ω = $math[{Ω}^{ꝏ}] si $math[{Ω}^{ꝏ}] = Ω | ||
+ | - 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) = $math[{Ω}^{ꝏ}](g(n)) sau ambele.\\ Raspunsul este acelasi si daca inlocuim $math[{Ω}^{ꝏ}] cu Ω? Argumentati! | ||
+ | |||
+ | * VI. (//2p//) Analizati complexitatea urmatorului algoritm: | ||
<code java> | <code java> | ||
private static Integer recursiveMethod(Integer length) { | private static Integer recursiveMethod(Integer length) { | ||
Line 34: | Line 38: | ||
</code> | </code> | ||
- | ''Nota'': Metoda random(n) foloseste o unitate de timp si returneaza o valoare uniform distribuita in intervalul [0,n], iar timpul pentru celelate instructiuni e neglijabil. | + | ''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 === | + | === PRECIZARI: === |
* Tema va fi redactata individual. | * Tema va fi redactata individual. | ||
- | * Tema va fi predata la cursul din data de **23 noiembrie 2018**. | + | * Tema va fi predata la cursul din data de **<color #ed1c24>6.12.2019</color>** . |
* Tema valoreaza **1** punct din nota finala. | * Tema valoreaza **1** punct din nota finala. | ||