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