【发布时间】:2025-12-25 21:50:11
【问题描述】:
递归函数定义如下:
function factrec($x) {
if($x <= 1) {
return $x;
} else {
return $x * factrec($x - 1);
}
}
在这里迭代:
function factiter($x) {
$y = $x;
while($y > 1) {
$x *= ($y - 1);
$y--;
}
return $x;
}
我在递归函数中读到,主体是 O(1),递归调用 O(n-1) 使其成为 O(n),但对于迭代,它也是 O(n) 吗?
【问题讨论】:
-
function factorial($x) { for ($y = $x; $y-- > 1; $x *= $y); return $x; }:PHP 太棒了。 (希望我没有犯错:D)