Ricerca binaria
: una sola metà e lavoro costante.
Algoritmi · Analisi della complessità
Le ricorrenze traducono la struttura di un algoritmo ricorsivo in un’equazione. Il Master Theorem permette di risolvere rapidamente molti algoritmi divide et impera, purché se ne verifichino davvero le ipotesi.
Un algoritmo ricorsivo risolve un’istanza usando una o più istanze più piccole. Il suo tempo di esecuzione dipende quindi dal costo delle chiamate ricorsive e dal lavoro svolto fuori da esse.
: una sola metà e lavoro costante.
: due metà e fusione lineare.
: il problema diminuisce di una unità.
Numero di chiamate ricorsive generate da ogni istanza. Deve essere almeno 1.
Ogni sottoproblema ha dimensione . Nel teorema si richiede .
Divisione del problema, combinazione dei risultati e ogni operazione non ricorsiva.
Il costo delle sole foglie dell’albero di ricorsione è determinato da
Per questo il termine critico del Master Theorem è : confronta la crescita delle foglie con quella del lavoro .
Sostituisci ripetutamente la ricorrenza finché raggiungi il caso base, poi riconosci e sommi la serie ottenuta.
Calcola il costo di ogni livello, il numero di livelli e il costo delle foglie. È intuitivo e aiuta a formulare un’ipotesi.
Ipotizza un limite asintotico e dimostralo per induzione, scegliendo con attenzione costanti e caso base.
Classifica in pochi passaggi le ricorrenze bilanciate della forma .
Per :
Questa ricorrenza non è nella forma del Master Theorem, perché la dimensione passa da a , non a .
Sia
Confronta con . Non basta vedere quale sembra più grande: nei casi 1 e 3 la differenza deve essere polinomiale.
| Caso | Confronto | Risultato | Intuizione |
|---|---|---|---|
| 1 | , per un | Dominano le foglie. | |
| 2 | , con | Tutti i livelli contribuiscono. | |
| 3 | , per un | Domina il lavoro vicino alla radice. |
| Ricorrenza | Caso | Soluzione | |
|---|---|---|---|
| 2, con | |||
| 2, con | |||
| 1 | |||
| 1 | |||
| 3, con regolarità |
Nell’ultimo esempio , quindi è polinomialmente più grande. Inoltre il rapporto tende a , dunque la regolarità è soddisfatta per un opportuno .
I pavimenti e soffitti, come , vengono spesso omessi durante l’analisi asintotica quando non cambiano l’ordine di crescita; in una dimostrazione rigorosa vanno comunque gestiti.
Risolvi .
, e . Poiché , è il caso 1: .
Risolvi .
è e . Caso 2 con : .
Risolvi .
Il termine critico è , mentre è polinomialmente più grande. La regolarità vale perché . Caso 3: .
Si può applicare il Master Theorem a ?
No. La riduzione è sottrattiva, non divisiva. Espandendo si eseguono circa passi a costo costante, quindi .
Nel caso peggiore, quicksort può generare . Trova l’ordine di crescita.
L’espansione produce . La somma è .
La versione standard qui presentata classifica ?
No. Il termine è più grande di , ma non di un fattore polinomiale, e non ha la forma con costante.
Promemoria: identifica la forma, calcola , confronta con e verifica tutte le ipotesi prima di scegliere il caso.