Teorema master sulle ricorrenze

Siano a ≤ 1 e b ≤ 1 costanti e f(n) una funzione.

Sia T(n) il costo dell'esecuzione della ricorrenza.

Il Teorema Master delle ricorrenze dice che se il costo di esecuzione è nella forma:

T(n) = aT(n/b)+f(n)

allora, in base a quanto vale nlogba si presentano tre casi:

Vince la funzione

master-alto

se asintoticamente f(n) è un tempo migliore di quello di nlogba allora il tempo di esecuzione è Θ(nlogba). Per esempio, 2T(n/2)+O(1).

Formalmente si dice f(n) = O(nlogba - ε), con ε > 0.

Sono pari

theta

se asintoticamente i tempi si equivalgono (formalmente, f(n) = Θ(nlogba)), allora T(n) = Θ(nlogba log2(n)). Per esempio, 2T(n/2)+O(n).

Vince la ricorrenza (ma...)

master-basso

Se f(n) = Ω(nlogba + ε), con ε > 0, significa che f(n) ci mette più tempo - asintoticamente - di nlogba e quindi il tempo è Θ(f(n)). ma...

ricordati di verificare che af(n/b) sia minore di cf(n) per un c compreso tra 0 e 1!
ricordati di verificare che af(n/b) sia minore di cf(n) per un c compreso tra 0 e 1! Se così non fosse, la ricorsione non finirebbe mai e l'Universo sarebbe distrutto.

This is... the Master Theorem of the Recurrencies!