Consiste nel rappresentare graficamente come un albero l’evoluzione delle chiamate ricorsive fermandosi a un livello arbitrario, calcolare il costo totale di ogni livello e poi sommare i costi totali di ogni livello, fermandosi quando si raggiunge il caso base.
Esempio:
Ogni sotto-problema costa come parte di complessità non ricorsiva del caso ricorsivo, in questo caso .
Il primo livello costa , anche il secondo, il terzo e così via; quindi il livello costerà .
Ora calcoliamo quando l’algoritmo si fermerà, cioè quando raggiungerà il caso base.
- Raggiungere il livello con i casi base significa ritrovarsi con a un certo punto dell’albero, in questo caso .
- Si può vedere che il sotto-problema al livello generico è nella forma .
- Quindi si raggiungerà quando , cioè quando .
Abbiamo ottenuto che servono livelli per arrivare al caso base . Sommiamo quindi tutti i livelli: