[Algo]Colcolo complessità asintotica
Dato il seguente algoritmo trovare l'equazione di ricorrenza e calcolarne la complessità.
Secondo me il seguente algoritmo ha un problema:
m ogni volta dopo il while, diventa sempre o 1 o 0. Quindi il primo analizzami andrà sempre al caso base, mentre il secondo avrà sempre l'input uguale a quello del chiamante.
Quindi con un input >1 entriamo in un loop infinito???
Se qualcuno può delucidarmi mi farebbe un gran favore.
Saluti e buona serata
analizzami( A, i, j) m = j-i+1 c = 1 m = (i+j+1)/2 while m>1 do c++ m = m/2 if (n>1) then return c analizzami( A, i, m-1) + analizzami( A, m+1, j)
Secondo me il seguente algoritmo ha un problema:
m ogni volta dopo il while, diventa sempre o 1 o 0. Quindi il primo analizzami andrà sempre al caso base, mentre il secondo avrà sempre l'input uguale a quello del chiamante.
Quindi con un input >1 entriamo in un loop infinito???
Se qualcuno può delucidarmi mi farebbe un gran favore.
Saluti e buona serata

Risposte
A prima vista direi in effetti che non ha senso.
Un refuso possibile potrebbe essere la prima variabile m, che sarebbe una n in realtà, la quale andrebbe poi anche nel while, mentre il resto rimane invariato.