Master theorem

Anche chiamato teorema dell’esperto.

con

title: Info
$\frac{n}b$ può stare sia per $\lfloor\frac{n}b\rfloor$ che per $\lceil\frac{n}b\rceil$

In questa equazione si hanno:

  • : dimensione del problema originario
  • : numero di sottoproblemi
  • : dimensione del sottoproblema
  • : lavoro extra oltre le chiamate
title: Esempio
Ad esempio il binary search si può rappresentare in questo modo:
$$
T(n)=\begin{equation}\begin{cases}
c_1 & \mbox{se } n=1 \\
1 \cdot T(\frac{n}2)+c_2\cdot n^0 & \mbox{altrimenti}
\end{cases}\end{equation}
$$
 
Dove si ha $a=1, b=2 \mbox{ e } d=0$.

Se vale quanto sopra, si ha che

title: Esempio
Continuando l'esempio sopra della binary search, si ha che $a=1, b=2 \mbox{ e } d=0$, e quindi
$$
\log_ba=\log_21 = 0
$$
 
Essendo $d=\log_21=0$, si ha che la binary search $\in O(n^{\log_21}\log n)=O(\log n)$
title: Attenzione
Il teorema può essere usato solo quando la ricorsione è invocata su sottoproblemi che sono la frazione costante della dimensione originale, e i sottoproblemi devono avere tutti la stessa dimensione.

asd_10