0
優化: Does PHP optimize tail recursion?確實尾遞歸會被這個問題在PHP
PHP不會優化尾遞歸
但是當我嘗試我的機器,(PHP 5.3.10)
上兩個方案供斐波納契:一種是正常遞歸,另一個是尾遞歸
使用的時間的程序不同的很多:
,我感到困惑有關,誰可以告訴我爲什麼尾遞歸是快於正常遞歸,如果PHP不優化它
fibonacci.php:
<?php
function fibonacci($n) {
if ($n < 2) {
return $n;
}
return fibonacci($n - 1) + fibonacci($n - 2);
}
var_dump(fibonacci(30));
fibonacci2 .PHP:
<?php
function fibonacci2($n, $acc1, $acc2) {
if ($n == 0) {
return $acc1;
}
return fibonacci2($n-1, $acc2, $acc1 + $acc2);
}
var_dump(fibonacci2(30, 0, 1));
請,顯示兩個腳本的源代碼。 – Oroboros102 2012-07-09 07:00:50
嗨,我爲此添加了腳本 – jianfeng 2012-07-10 01:22:33