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.