[Algoritmi] Dubbio soluzione equazione di ricorrenza

Messaggioda GInTheSpeedster » 13/02/2018, 17:35

Salve a tutti. Svolgendo degli esercizi sugli algoritmi Divide et impera, mi sono imbattuto nella seguente equazione di ricorrenza relativa ad uno di essi:

$T(n) = \{(c_1,text{if } n <= 1),(2T(n/2) +c_2,text{altrimenti}):}$

La soluzione che viene data è:

$T(n) = \theta(n)$

utilizzando il teorema dell'esperto.

Infatti l'equazione rientra nel primo caso del Master Theorem, con $a = 2$, $b = 2$, $log_ba = log_2 2 = 1$.
Poiché

$f(n) = c = O(n) = O(n^{log_ba-\epsilon}) = O(n^{1-0}) text{ con } \epsilon = 0$

sono verificate le condizioni del primo caso, dunque

$T(n) = \theta(n^{log_ba}) = \theta(n)$

La cosa che mi lascia perplesso è che, secondo il teorema, deve valere $\epsilon > 0$, ma se questo fosse vero non riuscirei ad eseguire la dimostrazione.
Probabilmente ho commesso qualche errore io, volevo chiedervi di aiutarmi ad individuarlo. Grazie.
GInTheSpeedster
Starting Member
Starting Member
 
Messaggio: 1 di 2
Iscritto il: 13/02/2018, 16:50

Re: [Algoritmi] Dubbio soluzione equazione di ricorrenza

Messaggioda apatriarca » 14/02/2018, 10:42

Il termine costante è \(\Theta(1)\) non \(\Theta(n)\)..
apatriarca
Moderatore
Moderatore
 
Messaggio: 4965 di 10436
Iscritto il: 08/12/2008, 20:37
Località: Madrid


Torna a Informatica

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite