Passa al tema normale
Discussioni su argomenti di Informatica

Regole del forum

Consulta il nostro regolamento e la guida per scrivere le formule
Rispondi al messaggio

Costo algoritmo ricorsivo

22/05/2019, 10:48

Buongiorno, qualcuno mi sa aiutare con il seguente esercizio?
Determinare l'ordine di grandezza del costo in tempo in termini di operazioni aritmetiche della seguente funzione:
Codice:
int pippo(int n){
int i;
if (n <= 3)
   return 1;
else
 if(n > 333)
 i = n/2;
 return 3*pippo(i)+pippo(i)+pippo(i)+n*i;
 }
else
 return pippo(n-3)+9;
}


dire che l'algoritmo ha tempo d'esecuzione definito da
$ T(n)={ ( O(1)\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad n<= 3 ) ,( 3T(n/2)+O(1)\quad\quad n>= 333 ),( T(n-3)+O(1)\quad ):} $
è corretto?

Grazie mile!

Re: Costo algoritmo ricorsivo

06/06/2019, 21:20

La condizione \(n \ge 333\) dovrebbe essere \(n > 333\) in base al codice della funzione, ma mi sembra per il resto corretto.

EDIT: Suppongo sia tuttavia in qualche modo richiesto di risolvere tale equazione di ricorrenza. Qualche idea su come procedere?

Re: Costo algoritmo ricorsivo

16/06/2019, 18:25

Grazie mille, a questo punto risolverei l'equazione di ricorrenza con il teorema dell'esperto!
Rispondi al messaggio


Skuola.net News è una testata giornalistica iscritta al Registro degli Operatori della Comunicazione.
Registrazione: n° 20792 del 23/12/2010.
©2000— Skuola Network s.r.l. Tutti i diritti riservati. — P.I. 10404470014.