我可以使用遞歸計算階乘或for循環如下?遞歸與循環之間的區別?
遞歸階乘
int recursiveFactorial(int n){
if(n<0)
return;
if(n==0 || n==1)
return 1;
else
return n*recursiveFactorial(n-1);
}
,並使用循環
int forFacotrial(int n){
if(n<0)
return;
if(n==0 || n==1)
return 1;
else{
int fact=1;
for(int i=2;i<=n;i++)
{
fact=fact*i;
}
return fact;
}
}
是什麼都是在性能方面的區別?它有什麼不同?
是調用。你是對的 。差異是在性能方面...... – user3256147
是的,那很好。在性能方面有差異嗎?據我所知,會有n次調用遞歸函數功能。循環也會上升到n次。所以這兩者的複雜性都是O(n)? – user3044327
http://stackoverflow.com/questions/8695104/speed-performance-for-recursion-and-iteration-why-do-they-both-run-at-the-same – SQLMason