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: