Attualmente sto lavorando in PHP, quindi questo esempio sarà in PHP, ma la domanda si applica a più lingue.Qual è una differenza pratica tra un loop e la ricorsione
Sto lavorando a questo progetto con un mio demone, e come sempre siamo stati ostacolati da un grosso problema. Ora siamo andati entrambi a casa, non siamo riusciti a risolvere il problema. Quella sera entrambi abbiamo trovato la soluzione, solo che ho usato un ciclo per affrontare il problema, e ha usato la ricorsione.
Ora volevo dirgli la differenza tra il ciclo e la ricorsione, ma non sono riuscito a trovare una soluzione in cui è necessario ricorrere su un ciclo normale.
Sto per fare una versione semplificata di entrambi, spero che qualcuno possa spiegare come uno è diverso dall'altro.
prego di perdonarmi per eventuali errori di codifica
Il loop:
printnumbers(1,10);
public function printnumbers($start,$stop)
{
for($i=$start;$i<=$stop;$i++)
{
echo $i;
}
}
Ora il codice di cui sopra semplicemente stampa i numeri.
Ora facciamo questo con la ricorsione:
printnumbers(1,10);
public function printnumbers($start,$stop)
{
$i = $start;
if($i <= $stop)
{
echo $i;
printnumbers($start+1,$stop);
}
}
Questo metodo di cui sopra farà la stessa cosa come il ciclo, ma poi solo con la ricorsione.
Qualcuno può spiegarmi cosa c'è di diverso nell'usare uno di questi metodi.
Hmm, perché stai contando all'indietro nel secondo snippet di codice? –
Oh scusa è solo un refuso, risolto! –
Penso che mostri una ragione per essere cauti riguardo alle funzioni ricorsive: possono essere difficili da ottenere e talvolta portano a questo stesso sito. –